我的JsonArray是
[{ "Id": null, "Name": "One New task", "StartDate": "2010-02-03T05:30:00", "EndDate": "2010-02-04T05:30:00", "Duration": 1, "DurationUnit": "d", "PercentDone": 0, "ManuallyScheduled": false, "Priority": 1, "parentId": 8, "index": 0, "depth": 3, "checked": null },{ "Id": null, "Name": "New task", "StartDate": "2010-02-04T05:30:00", "EndDate": "2010-02-04T05:30:00", "Duration": 0, "DurationUnit": "d", "PercentDone": 0, "ManuallyScheduled": false, "Priority": 1, "parentId": 8, "index": 1, "depth": 3, "checked": null }]
现在,我要从此JsonArray中删除ID,ManualScheduled,已选中,
我尝试在JAVA中使用jsonArray.remove(1)和jsonArray.discard("Id")。但是什么也没发生。我删除阵列项目错了吗?
jsonArray.remove(1)
jsonArray.discard("Id")
我正在使用JAVA作为技术。
您所拥有的是一系列对象。因此,您将不得不遍历数组并从 每个 对象中删除必要的数据,例如
for (int i = 0, len = jsonArr.length(); i < len; i++) { JSONObject obj = jsonArr.getJSONObject(i); // Do your removals obj.remove("id"); // etc. }
我假设您正在使用org.json.JSONObjectand org.json.JSONArray,但是无论使用什么JSON处理库,主体都保持不变。
org.json.JSONObject
org.json.JSONArray
如果您想将类似的内容转换[{"id":215},{"id":216}]为[215,216],可以这样:
[{"id":215},{"id":216}]
[215,216]
JSONArray intArr = new JSONArray(); for (int i = 0, len = objArr.length(); i < len; i++) { intArr.put(objArr.getJSONObject(i).getInt("id")); }