如何使用Java删除JSONArray元素
我的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")
。但是什么也没发生。我删除阵列项目错了吗?
我正在使用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.JSONObject
and org.json.JSONArray
,但是无论使用什么JSON处理库,主体都保持不变。
如果您想将类似的内容转换[{"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"));
}
以上是 如何使用Java删除JSONArray元素 的全部内容, 来源链接: utcz.com/qa/435757.html