在 javax.json.JsonArray 中更改 json 个元素的值

change json elements' value in javax.json.JsonArray

[
    {
        "key":"key1",
        "value":"key one value",
        "description":""
    },
    {
        "key":"key2",
        "value":"key two value",
        "description":""
    },
    {
        "key":"key3",
        "value":"key three value",
        "description":""
    },
    {
        "key":"key4",
        "value":"key four value",
        "description":""
    },
    {
        "key":"key5",
        "value":"key five value",
        "description":""
    }   
]

以上是我正在使用的示例 json 文件,我将其放入 JsonArray 中,如下所示

BufferedReader reader = Files.newBufferedReader(file,
                Charset.defaultCharset());
JsonReader jsonReader = Json.createReader(reader);
JsonArray array = jsonReader.readArray();

我的问题是我想访问 JsonArray 并更改每个 json 元素的值部分,但无法执行此操作。 该集合似乎不提供替换任何 json 元素的值。 你知道无论如何我可以实现我要做的事情吗? PS:也愿意接受有关使用替代集合的建议,但请告诉我为什么要选择所述集合。

因为你没有提到你使用的是哪个 JSON 库,如果你使用 json-lib 替换元素,你可以使用 element 方法

public JSONArray element(int index,
                         Object value)

如果你想更新 JSONObject 元素的特定属性,你可以尝试下面的方法

array.getJSONObject(0).put("key","new key value")

请注意,出于演示目的,我使用了硬编码值 0。