Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用jsonpath替换json值_Java_Json - Fatal编程技术网

Java 用jsonpath替换json值

Java 用jsonpath替换json值,java,json,Java,Json,我们有这样一个json字符串: { "key1": { "key2": { "key6": true }, "key6": { "key3": [ { "key4": "1", "key5": "1" }, { "key4": "1", "ke

我们有这样一个json字符串:

{
"key1": {
    "key2": {
        "key6": true
    },
    "key6": {
        "key3": [
            {
                "key4": "1",
                "key5": "1"
            },
            {
                "key4": "1",
                "key5": "1"
            }
        ]
    }

},
"from": 0
}
我们希望使用以下代码替换后一个键6的值:

DocumentContext dContext = JsonPath.using(configuration).parse(objectString);
dContext.set("$.key6"+,"false"));
但是由于键6在jsonstring中显示了两次,所以我们替换了错误的值。上面的json结构只是一个例子,“key6”的json路径在不同的json中是完全不同的。我们无法为这种替换编写确切的jsonpath。 我们怎么能用java替换没有子项的“key6”的值呢?
非常感谢

您唯一的解决方案是转到精确键,在您的情况下,类似这样:

dContext.set("$.key1.key2.key6"+,"false"));

您唯一的解决方案是转到精确关键点,在您的情况下,类似于以下内容:

dContext.set("$.key1.key2.key6"+,"false"));

对你有用吗?对你有用吗?