【发布时间】:2015-05-27 06:53:48
【问题描述】:
我有一张地图如下:
Map map = new HashMap<String, String>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
我需要将此地图转换为 JSON 字符串。我知道这可以使用 Jackson 来完成,如下所示:
new ObjectMapper().writeValueAsString(map);
问题是,我不想将key3 映射到字符串。输出字符串应如下所示:
{"key1":"value1","key2":"value2"}
在将 HashMap 序列化为 String 时,有什么方法可以避免某些字段来自 HashMap?此外,我想在序列化时将某些字段添加到字符串中。例如,我需要添加一个名为“key4”的字段,其值为“value4”。因此,最终的字符串应该是:
{"key1":"value1","key2":"value2","key4":"value4"}
我如何使用 Jackson 来做到这一点?或者在 Java 中有没有其他方法可以做到这一点?
【问题讨论】:
-
为什么不在序列化之前修改Map呢?删除key3并添加key4