7

如何清除JSONArray中的数据

没有什么像:

jsonArray.clear();

甚至不:

jsonArray.remove(index);

这是在这里建议的:

如何从 JSONArray 中删除特定元素?

谢谢

4

9 回答 9

17
jsonArray = new JSONArray(new ArrayList<String>());
于 2012-12-11T11:47:15.720 回答
7

这不是一个完美的答案,但你可以这样做,

jsonArray=new jsonArray("[{}]");

编辑

根据评论中的建议,您还可以使用以下代码:

jsonArray=new jsonArray();
于 2012-12-11T12:06:58.620 回答
1

刚刚制作了局部变量

JSONArray jsonArray = new JSONArray();
jsonArray.put(productlist);

每次使用本地块添加 jsonserver 数据时,如果您清除全局块,则需要清除 jsonarray

于 2015-06-10T06:25:55.583 回答
0

我尝试了一切,但唯一对我有用的是

jsonArray.clear();

or you can make it local variable again

JSONArray jsonArray = new JSONArray();
于 2015-01-19T10:33:13.967 回答
0

clear()在我拥有的图书馆ArrayList中,似乎没有任何方法可以调用JSONObject. 然而它确实有public Object remove(int index)。我只是在使用new JSONObject():(

于 2015-07-01T07:51:19.113 回答
0

我不认为“new JSONArray()”是一个好的解决方案。

有时您需要从内部类中访问 JSONArray 对象,因此您必须将 JSONArray 对象声明为 final,然后您不能再将其分配给新对象。

最好的方法是循环删除它的元素。

while(myjsonarray.length()>0)
{
    myjsonarray.remove(0);
}

你说“没有什么像 jsonArray.remove(index);”,并且还用“java”、“android”标记了这个问题

但是现在我用的是Android Studio 3.6.3,JSONArray类有这个方法,你也可以在Android Studio官方文档中找到。因此,我想您应该编辑问题的标题,例如“为什么我的 android studio 没有 JSONArray 类的完整方法”

于 2020-05-20T10:10:11.620 回答
0

jsonArray.clear();这对我有用。我使用的是 org.json(不是 org.json.simple)库中的 JSONArray。

于 2021-06-03T13:27:32.877 回答
-1

您需要在 JSONArray 的长度上运行一个 while 循环,并且每次都删除第一个索引。当 JSONArray 的长度为零时,循环将到达一个阶段,以表明 JSONArray 不为空并被清除。

while (optionArray.length() > 0) {
            optionArray.remove(0)
    }
于 2021-07-29T09:56:54.197 回答
-4

这是一个答案,请尝试一下:

jsonArray=[]
于 2014-04-30T04:06:29.340 回答