Java 使用jackson json向json字符串添加属性
我将json字符串存储到mysql的文本字段中。 插入之后,我想更新我的json字符串,并使用jackson json将mysql行id添加到其中 我有一个Json格式的java字符串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
{
"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
,然后调用putset
(或replace
) 听起来是个奇怪的要求。你能给出一个你想要达到的目标的例子吗?我正在更新postTry更新你的问题,而不是使用示例代码。ObjectNode中的put方法在v2.4中被弃用。您需要使用set或replace。有没有一种方法可以利用Jackson来更改JSON字符串中属性的名称?例如,假设我想将'id':42
更改为'my_id':42
——而不必知道值42并重新创建属性?