0
我在資產文件夾中有本地Json文件。在JsonObject中打開並編輯值
我使用此代碼打開文件
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」, 「address」:「bnc」, 「image」:「abcg」, 「status」:false } ] }
我在JsonObject中檢索到值。現在我想編輯這個值 例如,將鍵值「status」的值從false更改爲true。 我該怎麼做?我不知道寫替換它!
謝謝你們!
嗨DavidCAdams!我試過你的方式,但價值不更新!你知道另一種方式嗎? –
這可能是因爲JSONObject在JSONArray中。試試這個: JSONObject newObject jsonArrayData.getJSONObject(i); newObject.put(「status」,true); 如果您需要更改JSONArray,然後使用JSONArray.put()方法將新的JSONObject放入索引(i)的JSONArray中。 –