gpt4 book ai didi

java - 更新 Java 中嵌套 JSON 的值

转载 作者:行者123 更新时间:2023-12-02 02:10:14 24 4
gpt4 key购买 nike

我必须处理以下预定义的 JSON 请求。此 JSON 存储在本地文件中。我想更新 JSON 中几个元素的值(“level-4b-1”和“level-4b-3”>“StartDate”)并提交请求。

<小时/>
{
"level-1": {
"level-2": {
"level-3": {
"level-4a": [
"value-4a"
],
"level-4b": [
{
"level-4b-1": "value-4b-1",
"level-4b-2": "value-4b-2",
"level-4b-3": {
"StartDate": "2017-11-13T00:00:00"
}
}
]
},
...
<小时/>

我有以下代码,但我不确定如何深入单行代码,然后更新值。

    JSONParser parser = new JSONParser();
Object requestFileObj = parser.parse(new FileReader(context.getRealPath(localJsonFile)));
JSONObject requestJsonObject = (JSONObject) requestFileObj;

if (requestJsonObject instanceof JSONObject) {

JSONObject level1 = (JSONObject)chartRequestJsonObject.get("level-1");

最佳答案

JsonPath 提供了一种在 json 文档中寻址节点的便捷方法。 JayWay是一个很好的java实现。

与 JayWay 一起:

DocumentContext doc = JsonPath.parse(json);
doc.set("level-1.level-2.level-3.level-4b[0].level-4b-3.StartDate", Instant.now().toString());
System.out.println(doc.jsonString());

关于java - 更新 Java 中嵌套 JSON 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50123951/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com