Java 使用jackson json向json字符串添加属性

Java 使用jackson json向json字符串添加属性,java,javascript,json,jackson,Java,Javascript,Json,Jackson,我将json字符串存储到mysql的文本字段中。 插入之后,我想更新我的json字符串,并使用jackson json将mysql行id添加到其中 我有一个Json格式的java字符串 { "thing":"val" } 我希望在不写代码行的情况下再添加一个K/V 要最终实现这一点: { "thing":"val" "mysqlId":10 } 我可以将字符串转换为JsonNode: ObjectMapper mapper = new ObjectMapper(); JsonNo

我将json字符串存储到mysql的文本字段中。 插入之后,我想更新我的json字符串,并使用jackson json将mysql行id添加到其中

我有一个Json格式的java字符串

{
  "thing":"val"
}
我希望在不写代码行的情况下再添加一个K/V

要最终实现这一点:

{
  "thing":"val"
  "mysqlId":10
}
我可以将字符串转换为JsonNode:

ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.readTree( jsonStr);
想做这样的事吗

json.put("mysqlId",10);
json.toString();
然后用mysql中的新json字符串更新我的文本字段

我来不了。
我不想使用很多类,有没有一种简单的方法可以使用jackson?

尝试将您的
JsonNode
强制转换为
com.fasterxml.jackson.databind.node.ObjectNode
,然后调用put
set
(或
replace

听起来是个奇怪的要求。你能给出一个你想要达到的目标的例子吗?我正在更新postTry更新你的问题,而不是使用示例代码。ObjectNode中的put方法在v2.4中被弃用。您需要使用set或replace。有没有一种方法可以利用Jackson来更改JSON字符串中属性的名称?例如,假设我想将
'id':42
更改为
'my_id':42
——而不必知道值42并重新创建属性?