【问题标题】:Add a property to a json string with jackson json使用 jackson json 将属性添加到 json 字符串
【发布时间】:2013-05-09 20:15:52
【问题描述】:

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

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

{
  "thing":"val"
}

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

终于有了这个:

{
  "thing":"val"
  "mysqlId":10
}

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

ObjectMapper mapper = new ObjectMapper();
JsonNode json = mapper.readTree( jsonStr);

想做这样的事情

json.put("mysqlId",10);
json.toString();

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

我做不到。 我不想使用很多类,杰克逊有一个简单的方法吗?

【问题讨论】:

  • 听起来很奇怪。你能举个例子说明你想要达到的目标吗?
  • 我正在更新帖子
  • 尝试使用示例代码更新您的问题。

标签: java javascript json jackson


【解决方案1】:

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

【讨论】:

  • ObjectNode 中的 put 方法在 v2.4 中已弃用。您需要使用 setreplace
  • 有没有办法利用 Jackson 来更改 JSON 字符串中属性的 name? IE。假设我想将 'id' : 42 更改为 'my_id' : 42 - 而不必知道值 42 并重新创建属性?
猜你喜欢
  • 2016-09-02
  • 1970-01-01
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 2016-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多