在JsonObject中打开并编辑值

时间:2014-03-02 03:31:10

标签: android android-file android-json

我在资产文件夹中有本地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文件

  

{     “A B C D”: [       {         “title”:“abcd”,         “description”:“abc”,         “地址”:“bnc”,         “image”:“abcg”,         “状态”:错误       }     ]   }

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

谢谢你们!

1 个答案:

答案 0 :(得分:1)

您使用JSONObject类的JSONObject.put()方法。所以,在你的例子中你可以这样做:

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

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