首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jackson向jsonobject添加键值对

使用jackson向jsonobject添加键值对
EN

Stack Overflow用户
提问于 2014-03-20 09:57:20
回答 2查看 6K关注 0票数 2

我只需要从一个json节点复制元数据并将其添加到另一个节点。我的问题是

代码语言:javascript
运行
复制
       ObjectNode.put("key":"value") 

覆盖现有数据,但我需要添加它们。

示例:

代码语言:javascript
运行
复制
    {"metadata":{ "foo":1, "boo":2}} merged with {"metadata": {"ba":7}}

应该是

代码语言:javascript
运行
复制
    {"metadata":{"foo":1, "boo":2,"ba":7}}

应该是相当简单,但我不明白:(因此,任何帮助都会感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-20 10:07:05

你可以用几种方式做到这一点。

首先,使用Jackson;让我们将node称为要修改的节点,将要合并的节点称为newNode

代码语言:javascript
运行
复制
final ObjectNode newMetadata = (ObjectNode) newNode.get("metadata");
final ObjectNode metadata = (ObjectNode) node.get("metadata");

metadata.putAll(newMetadata);

第二,(抱歉:自我推销)您的目标JSON可以用作JSON合并修补程序;我开发的一个库,它使用Jackson (注意: 2.2.x,而不是1.9.x),支持它

代码语言:javascript
运行
复制
final JsonMergePatch patch = JsonMergePatch.fromJson(newNode);
node = patch.apply(node);
票数 3
EN

Stack Overflow用户

发布于 2014-03-20 10:04:42

要向json对象添加键值对,只需获取一个映射并将键值条目放入it.now中,就应该使用JSONER对象。通过使用jsoner的序列化方法,您可以直接将映射添加到json。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22529255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档