gpt4 book ai didi

java - 如何使用 Java 删除 JSONArray 元素

转载 作者:搜寻专家 更新时间:2023-10-31 08:23:53 24 4
gpt4 key购买 nike

我的 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、ManuallyScheduled、checked,

我尝试在 JAVA 中使用 jsonArray.remove(1)jsonArray.discard("Id")。但没有任何反应。删除数组项我做错了什么?

我正在使用 JAVA 作为我的技术。

最佳答案

你所拥有的是一个对象数组。因此,您必须遍历数组并从 each 对象中删除必要的数据,例如

for (int i = 0, len = jsonArr.length(); i < len; i++) {
JSONObject obj = jsonArr.getJSONObject(i);
// Do your removals
obj.remove("id");
// etc.
}

我假设您在这里使用的是 org.json.JSONObjectorg.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 - 如何使用 Java 删除 JSONArray 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com