簡體   English   中英

用 jsonpath 替換 json 值

[英]Replace json value by jsonpath

我們有這樣一個json字符串:

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

},
"from": 0
}

我們想使用下面的代碼來替換后面的 key6 的值:

DocumentContext dContext = JsonPath.using(configuration).parse(objectString);
dContext.set("$.key6"+,"false"));

但是由於 key6 已在 jsonstring 中顯示兩次,因此我們替換了錯誤的值。 上面的json結構只是一個例子,“key6”的json路徑在不同的json中有很大的不同。 我們無法為這種替換編寫確切的 jsonpath。 我們怎樣才能用java替換沒有孩子的“key6”的值? 非常感謝。

您唯一的解決方案是使用精確的密鑰,在您的情況下,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM