使用jackson json将属性添加到json字符串

Dim*_*iwa 8 javascript java json jackson

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

我有一个JSON格式的java String

{
  "thing":"val"
}
Run Code Online (Sandbox Code Playgroud)

我想在不编写代码行的情况下添加另一个K/V.

最后有这个:

{
  "thing":"val"
  "mysqlId":10
}
Run Code Online (Sandbox Code Playgroud)

我可以将我的String转换为JsonNode:

ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.readTree( jsonStr);
Run Code Online (Sandbox Code Playgroud)

希望做这样的事情

json.put("mysqlId",10);
json.toString();
Run Code Online (Sandbox Code Playgroud)

然后使用mysql中的新json字符串在我的文本字段中更新

我做不到.我不想使用很多类是否有一个简单的方法与杰克逊这样做?

cmb*_*ter 25

尝试将您转换JsonNode为a com.fasterxml.jackson.databind.node.ObjectNode,然后在其上调用put set(或replace).

  • *v2.4中不推荐使用ObjectNode中的put*方法.你需要使用*set*或*replace*. (4认同)