使用 Jackson 和 Spring 3.0 从 JSON 反序列化集/列表失败
我在反序列化包含集合的 POJO 对象时遇到了麻烦
,例如
class C {
Set<SomeObject> set;
...
}
使用 Jackson 1.8 自动映射,我正确地获得了所有属性,但是如果我使用集合,我会得到这个
org.codehaus.jackson.map.JsonMappingException: 意外的令牌 (START_OBJECT), 预期 VALUE_STRING:需要 JSON 包含类型 id 的字符串(对于 java.util.Set 的子类型)
有什么想法我做错了吗?类型中的泛型/类型擦除是罪魁祸首吗?那我该如何解决呢?
免责声明,当我序列化和反序列化不在会话中时,我正在使用 Hibernate 持久实体
I'm having a trouble desirializing POJO objects that contains sets
e.g.
class C {
Set<SomeObject> set;
...
}
Using Jackson 1.8 auto mapping, I get all properties correctly, but if I use a set I get this
org.codehaus.jackson.map.JsonMappingException:
Unexpected token (START_OBJECT),
expected VALUE_STRING: need JSON
String that contains type id (for
subtype of java.util.Set)
Any Ideas what I'm doing wrong? is Generics in type / type erasure is the culprit? how do I fix it then?
Disclaimer, I'm using Hibernate persistent entities when I'm serializing and deserializing is out of session
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JSON数据的结构与POJO的结构不同;如果您可以在此处包含 JSON,那么应该很容易找出到底发生不匹配的位置。集合应该可以很好地处理,但它们需要与 JSON 数组匹配。
Structure of JSON data differs from structure of POJO; if you can include JSON here it should be easy to figure out where exactly mismatch occurs. Sets should be handled just fine, but they need to match with JSON arrays.