java如何使用Jackson注释序列化此JSON?
我有以下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字段“fields”是一个hashmap,而不是一个列表
我的问题是:是否有任何“神奇”注释可以让Jackson将贴图键识别为pojo属性名称,并将贴图值指定给pojo属性值
我真的不想把我的fields对象作为
private Map<String, String> fields;
。。。因为在我的真实json中,映射值中有复杂的对象,而不仅仅是字符串
谢谢;-)
菲利普
# 1 楼答案
对于这个JSON,您只需稍微修改一下示例,比如:
因为对象的结构需要与JSON的结构保持一致。当然,您可以使用setter和getter代替公共字段(甚至可以使用构造函数代替setter或字段),这只是最简单的示例
您的原始类将生成/使用JSON,更像:
因为列表映射到JSON数组