我想要做的是在特定的索引位置更改/替换json数组中的值。在查看http://www.json.org/javadoc/org/json/JSONArray.html的文档后,我发现jsonArray没有getIndex()方法。这种情况如何在给定的索引位置更新我的json数组。
这是在我的android代码中创建json数组的方法。
@Override
public void afterTextChanged(Editable s) {
String netChange = netRate.getText().toString();
final int row_id = (int) newRow.getTag();
if ((row_id<0) || (row_id> itemSelectedJson.length())){
return;
}
try {
itemSelectedJson.getJSONObject(row_id-1).put("net_rate",netChange);
Log.d("NETRATE_TW",itemSelectedJson.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
};
这是我用来更新包含json对象的json数组的代码。
{{1}}
现在这段代码的问题是每次在代码中添加新项目时都会更新jsonArray。因此,第一个对象值与最后一个对象相同。
另请注意,我在文本观察器中使用此代码。所以afterTextchanged()方法看起来像这样。
{{1}}
这是我的数据库的快照。