我使用https://github.com/ralfstx/minimal-json作为这个项目的json库,我有一个json输入,它有一个嵌套数组,在数组中有键值对。
Json看起来像这样:
{
"info":[
{
"name":"thing1",
"value":"value1"
},
{
"name":"user",
"value":"admin"
},
{
"name":"password",
"value":""
}
],
"logonStyle":null,
"logonUXVersion":0
}
所以我尝试过这样的事情:
jsonRes.get("info").set("password", "tothisvalue");
jsonRes.set("password", "tothisvalue");
但这两种方式都不起作用。我注意到这个Q& A它有一个不同的库,你可以链接它们:How to access nested elements of json object using getJSONArray method
想知道我是否可以在这个库中添加一个案例,或者是否有人知道在嵌套数组中设置值的方法。
答案 0 :(得分:0)
想出来。
JsonArray connectionInfo = requestBody.get("connectionParamInfo").asArray();
for (JsonValue x : connectionInfo) {
if (x.equals(jsonStr)) {
x.asObject().set("value", newPassword);
}
}
如果我在这种情况下修改了作为JsonObject的requestBody,那么我对“connectionInfo”部分中的值所做的更新实际上会返回原始的requestBody。
我以为我必须把某些东西合并回去。实际上它已经在更新我的json了。