【发布时间】:2018-07-03 12:31:22
【问题描述】:
假设我有一个 POJO 如下 -
public class Pojo {
String name;
String address;
Map<String, String> values;
//getter/setters
}
如果,我使用Jackson将其转换为JSON格式的String,如下-
Pojo pojo= new Pojo ();
pojo.setName("My Name");
pojo.setAddress("Yet not found");
Map<String, String> map = new HashMap<>();
map.put("key1", "val1");
map.put("key2", "val2");
map.put("key3", "val3");
pojo.setValues(map);
ObjectMapper objectMapper = new ObjectMapper();
String str = objectMapper.writeValueAsString(parentPojo);
System.out.println(str);
我得到一个String JSON 格式如下 -
{
"name": "My Name",
"address": "Yet not found",
"values": {
"key1": "val1",
"key2": "val2",
"key3": "val3"
}
}
有什么办法吗,我可以如下使用Gson/Jackson?
{
"name": "ParentName",
"address": "Yet not found",
"key1": "val1",
"key2": "val2",
"key3": "val3"
}
注意 - 我知道这很容易完成,如果我将所有内容都放在一个单一的 Map 中,但我不能这样做,我有一些其他业务逻辑依赖于这些。
【问题讨论】:
标签: java json jackson gson jackson2