【发布时间】:2010-12-10 15:39:21
【问题描述】:
我有以下 JSON:
{
fields : {
"foo" : "foovalue",
"bar" : "barvalue"
}
}
我写了一个pojo如下:
public class MyPojo {
@JsonProperty("fields")
private List<Field> fields;
static class Field {
@JsonProperty("foo") private String foo;
@JsonProperty("bar") private String bar;
//Getters and setters for those 2
}
这显然失败了,因为我的 json 字段“字段”是哈希图,而不是列表。
我的问题是:是否有任何“魔术”注释可以让 Jackson 将映射键识别为 pojo 属性名称,并将映射值分配给 pojo 属性值?
P.S.:我真的不想让我的 fields 对象作为...
private Map<String, String> fields;
...因为在我的真实 json 中,地图值中有复杂的对象,而不仅仅是字符串...
谢谢 ;-)
菲利普
【问题讨论】:
-
另外,当我尝试序列化这些映射时,我得到:I/O 错误:无法从 START_OBJECT 令牌中反序列化 java.lang.String 的实例
标签: java json serialization jackson