【发布时间】:2020-01-09 10:11:09
【问题描述】:
我想从 Java 对象生成 JSON 字符串
public class Resource {
String name;
List<Item> items;
public String resourceAsJson(Resource resource) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.writeValueAsString(resource);
}
物品在哪里
public class Item {
Map<String, String> systemFields;
Map<String, String> dataFields;
}
此时JSON String的形式是
{
"name": "Person",
"items": [
{
"systemFields": {
"systemField1": "xxx",
"systemField2": "xxx",
"systemField3": "x"
},
"dataFields": {
"dataField1": "xxx",
"dataField2": "xxx",
"dataField3": "x"
}
}
]
}
我试图获得的是 JSON 的不同形式(省略 Item 并在一个 Json 表中有“系统字段”“数据字段”)
{
"Person":[
{
"systemField1": "xxx",
"systemField2": "xxx",
"systemField3": "Warsaw",
"dataField1": "xxx",
"dataField2": "xxx",
"dataField3": "xxx"
}
]
}
有没有办法在不改变模型的情况下对 Jackson 做到这一点?
【问题讨论】:
-
@JsonUnwrapped可能就是你要找的东西 -
你能把整个代码块发给我,这样我就可以在本地工作了。
标签: java json spring solr jackson