首页 > 解决方案 > 在 JSONArray 中查找字段并更改 java 中的值

问题描述

我有一个JSONArray初始化的调用arr,当我在 java 应用程序中打印出来时:arr.toString(),这是输出:

["{ \"field1\" : 50, \"time\" : \"20 Jul 2021 14:38:51 GMT\", \"id\" : \"100\" }",
 "{ \"field1\" : 51, \"time\" : \"21 Jul 2021 14:38:51 GMT\", \"id\" : \"101\" }"]

我正在尝试查找时间20 Jul 2021 14:38:51 GMT\和 id100并将其更改field1为 52。这是我到目前为止所拥有的:

for (int i =0; i < arr.length(); i++) {
   JSONObject itemArr = (JSONObject)arr.get(i);
       if((itemArr.get("id\\").getAsString().equals("100\\")) && itemArr.get("time\\").getAsString().equals("20 Jul 2021 14:38:51 GMT\\")){
              itemArr.put("field1\\", 52);
       }
 }
    

然而,这给了我一个JSONObject["id\\"] not found error.

标签: jsonfor-loopobject

解决方案


推荐阅读