在 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。
[
{
"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。