如何使用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.JSONObjectand 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

回到顶部