Java 如何从JSON数组中清除数据

Java 如何从JSON数组中清除数据,java,android,json,arrays,Java,Android,Json,Arrays,我正在做一个项目,我必须清除JSON数组中的所有数据。似乎没有像jsonArray.clear()这样的方法。还尝试了jsonArray=new jsonArray()。那也没用。建议请创建一个新的JSONArray JSONArray otherJsonArray = new JSONArray(); 或者遍历数组并删除(int-index)索引 你用它 otherJsonArray已经存在,然后您可以使用 JSONArray otherJsonArray = new JSONArray("

我正在做一个项目,我必须清除JSON数组中的所有数据。似乎没有像jsonArray.clear()这样的方法。还尝试了jsonArray=new jsonArray()。那也没用。建议请创建一个新的JSONArray

JSONArray otherJsonArray = new JSONArray();
或者遍历数组并
删除(int-index)
索引

你用它 otherJsonArray已经存在,然后您可以使用

JSONArray otherJsonArray = new JSONArray("[]");

创建一个新对象将起作用,除非您已将其作为参数传递给一个方法,在这种情况下,您需要修改被引用对象,因为调用方法将看不到新引用

因此,如果是这种情况,请反向执行,这样您就不会使迭代器超出边界:

    int startingLength = someJsonArray.length();

    for (int i = startingLength - 1; i >= 0; i--) {

        someJsonArray.remove(i);

    }

只需放置
jsonArray=newjsonarray()

我们就可以使用someJsonArray.pop(索引)来删除require记录。
我们可以在循环中使用此代码删除所有记录

为什么jsonArray=new jsonArray()不能工作?但是jsonArray没有方法remove(int)。我的IDE没有显示这一点。我正在使用Android开发工具(Eclipse)在JSONArray上没有方法
remove
?它不是静态的,所以这并不奇怪。它是一个实例方法,应该是
jsonArray.remove()
;除非您使用的不是同一个org.json.JSONArray对象,否则我使用的是org.json.JSONArray对象。我将该对象更改为静态,但它仍然没有方法remove(),您误解了我的意思,该方法应该作为静态方法存在于实例(jsonArray)上,而不是作为静态方法存在于jsonArray类上。如果您以增量方式迭代以删除(索引),第一次将为0,并将从a、B、C“a”中删除在第二个循环1之后,它将删除“C”,而对于第三个循环,它将不会删除任何内容,因为在C之后没有更多内容,因此它将返回B,并且不会删除所有数组,您需要迭代递减来执行此操作