我在资产文件夹中有本地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。 我怎样才能做到这一点 ?我不知道写替换它!
谢谢你们!
答案 0 :(得分:1)
您使用JSONObject类的JSONObject.put()
方法。所以,在你的例子中你可以这样做:
jsonArrayData.getJSONObject(i).put("status", true);
这将破坏当前存在的价值。