使用Jackson合并两个JSON文档

是否可以将两个JSON文档与Jackson JSON库合并?我基本上是将Jackson映射器与简单的Java映射一起使用。

我尝试搜索Google和Jackson的文档,但找不到任何东西。

回答:

一种方法是这样使用ObjectReader

MyBean defaults = objectMapper.readValue(defaultJson, MyBean.class);

ObjectReader updater = objectMapper.readerForUpdating(defaults);

MyBean merged = updater.readValue(overridesJson);

它将合并来自两个来源的数据。这只会进行浅表复制,即不会对包含的对象进行递归合并。

否则,您可能只需要将JSON读取为树(JsonNode),在内容上循环并手动合并即可。无论如何,这通常都是有道理的,因为合并规则并非微不足道,每个人对于合并应该如何工作都有自己的想法。

:(2017年4月3日)

根据@Fernando Correia的评论,实际上即将发布的Jackson

2.9(将于2017年4月或2017年5月发布)中增加了一个新功能,该功能最终允许进行深度合并。

以上是 使用Jackson合并两个JSON文档 的全部内容, 来源链接: utcz.com/qa/429368.html

回到顶部