java - java中动态更新JSON文档

标签 java json

我有不同的 JSON 文档。我想根据指定路径更新值。 我怎样才能实现这个目标。

下面是两个示例 JSON

{
  "A": [
    [
      [
        [
          {
            ".": null
          }
        ],
        [
          {
            "M": null
          }
        ]
      ]
    ],
    [
      {
        "A": "Update"
      }
    ]
  ]
}

假设我已经给定路径:A[1][0].A 对于给定路径我想将值更新更改为更新>

对于数组,我使用索引。键由 分隔。 注意:JSON 文档结构不固定。

最佳答案

您可以使用 Json Path 来做到这一点.

您需要做的就是定义配置并使用 JSON Path 结构来编辑特定节点。

Configuration config= Configuration.builder()
    .jsonProvider(new JacksonJsonNodeJsonProvider())
    .mappingProvider(new JacksonMappingProvider())
    .build();

JsonNode newJson=JsonPath.using(config).parse(yourActualJSONString).set("$.A[2].A","UPDATED").json();
System.out.println(newJson.toString());

Refer this for JsonPath syntax.

如果您使用 Maven 构建项目,那么这里是依赖项

<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.0.0</version>
</dependency>

(或)

Link to the JSON Path JAR file.

关于java - java中动态更新JSON文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30104094/

相关文章:

java - eclipse插件类路径问题

java中的javascript逗号运算符

java - 如何找出哪个 Activity 启动了触发您的 BroadCastReceiver 的 Intent ?

java - 轻松休息 : send a JSON in a GET request

javascript - 谷歌图表和 JSON 数据

java - 如何动态改变Spring JdbcTemplate数据源?

java - 查找 HashMap 中带有某个字符的所有键并替换它

iphone - 使用 NSJSONSerialization 解析 JSON

javascript - 从 API 获取每个对象一个变量的数组

json - 除非主函数快速完成,否则从函数调用函数不会返回值