是否可以将两个JSON文档与Jackson JSON库合并?我基本上是将Jackson映射器与简单的Java映射一起使用。
我尝试搜索Google和Jackson的文档,但找不到任何东西。
一种方法是这样使用ObjectReader:
ObjectReader
MyBean defaults = objectMapper.readValue(defaultJson, MyBean.class); ObjectReader updater = objectMapper.readerForUpdating(defaults); MyBean merged = updater.readValue(overridesJson);
它将合并来自两个来源的数据。这只会进行浅表复制,即不会对包含的对象进行递归合并。
否则,您可能只需要将JSON读取为树(JsonNode),在内容上循环并手动合并即可。无论如何,这通常都是有道理的,因为合并规则并非微不足道,每个人对于合并应该如何工作都有自己的想法。
JsonNode
编辑 :(2017年4月3日)
根据@Fernando Correia的评论,实际上即将发布的Jackson 2.9(将于2017年4月或2017年5月发布)中增加了一个新功能,该功能最终允许进行深度合并。