我有不同的JSON文档。我想更新指定路径的值。 我怎样才能做到这一点。
以下是JSON的两个示例
{
"A": [
[
[
[
{
".": null
}
],
[
{
"M": null
}
]
]
],
[
{
"A": "Update"
}
]
]
}
假设我已经给出路径: A [1] [0] .A 给定路径我想将值更新更改为更新
如果数组I使用索引。键由。分隔 注意:JSON文档结构未修复。
答案 0 :(得分:2)
您可以使用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>
(或)