我有以下对象:
public class Class_a{
private List<class_b> someList;
}
public class Class_b{
private Map<String,String> someMap;
}
我的json看起来像这样:
"someList":[{"someMap":{"strKey1":"strValue1"}},{"someMap":{"strKey2":"strValue2"}}]
是否可以在不更改我的对象的情况下序列化一个看起来像这样的Json(并且我可以选择反序列化对象):
"someList":[{"strKey1":"strValue1"},{"strKey2":"strValue2"}]
*我知道,如果将这样定义我的对象:
public class Class_a{
private List<Map<Strung,String>> someList;
}
我将得到我想要的Json-但我正在尝试找到一种更优雅的解决方案,然后是包含“地图”的“列表”
我的项目使用spring框架和Jackson。
答案 0 :(得分:0)
这对我有用,我只需要向您的班级添加getter和setter即可,并且我可以用jackson进行解析:
@Test
public void t() throws IOException {
String json = "{\"someList\":[{\"someMap\":{\"strKey1\":\"strValue1\"}},{\"someMap\":{\"strKey2\":\"strValue2\"}}]}";
Class_a a = new ObjectMapper().readValue(json, Class_a.class);
System.out.println(a);
}
@Getter
@Setter
public class Class_a{
private List<Class_b> someList;
}
@Getter
@Setter
public class Class_b{
private Map<String,String> someMap;
}
我正在使用lombok,但这没什么特别的,您也可以手动创建getter / setter,并且可以正常工作