0

我在资产文件夹中有本地 Json 文件。

我使用此代码打开文件

try {
        is = getAssets().open("data.json");
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();

        jsonString = is.toString();
        jsonString = new String(buffer,"UTF-8");

        myJson = new JSONObject(jsonString);
        jsonArrayData = myJson.getJSONArray("diTich");
        int leng = jsonArrayData.length();
        for(int i = 0 ; i < leng ; i++) {
            mTitle = jsonArrayData.getJSONObject(i).getString("title");
            mDescription = jsonArrayData.getJSONObject(i).getString("description");
            mAddress = jsonArrayData.getJSONObject(i).getString("address");
            mStatus = jsonArrayData.getJSONObject(i).getString("status");
        }

    } catch (IOException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

我的 Json 文件

{“ABCD”:[{“标题”:“abcd”,“描述”:“abc”,“地址”:“bnc”,“图像”:“abcg”,“状态”:假}]}

我在 JsonObject 中检索了值。现在我想在此编辑值例如,将键“状态”的值从 false 更改为 true。我怎样才能做到这一点 ?我不知道写替换它!

谢谢你们!

4

1 回答 1

1

您使用JSONObject.put()JSONObject 类的方法。因此,在您的示例中,您可以这样做:

jsonArrayData.getJSONObject(i).put("status", true);

这将破坏当前存在的价值。

于 2014-03-02T04:18:36.917 回答