0

[描述]
1.使用Java
2.使用org.json.JSONArray和org.json.JSONObject
[问题]
我调用JSONArray的remove()方法时,编译我的项目时总是出现“找不到符号:方法remove(int)”,任何帮助为了这?

这是一个类似的问题:How to remove JSONArray element using Java
但答案似乎不正确,因为这只会删除内部 JSONObject 的键值对,而不是整个 insinde JSONObject。

示例代码:

JSONArray test_arr = new JSONArray("[{'id':'1', 'name': 'name1'},{'id':'2', 'name':'name2'}]");
test_arr.remove(1);  // here will cause the "cannot find symbol" error.

提前感谢您的帮助。

4

1 回答 1

2

好吧,有趣的是,Maven Central 中最新的 org.json JAR 确实包含一个没有remove 方法的JSONArray类。这是从 json-20090211.jar 中提取的类上 javap 的摘录:

public org.json.JSONArray put(int, long) throws org.json.JSONException;
public org.json.JSONArray put(int, java.util.Map) throws org.json.JSONException;
public org.json.JSONArray put(int, java.lang.Object) throws org.json.JSONException;
public org.json.JSONObject toJSONObject(org.json.JSONArray) throws org.json.JSONException;
public java.lang.String toString();
public java.lang.String toString(int) throws org.json.JSONException;
java.lang.String toString(int, int) throws org.json.JSONException;
public java.io.Writer write(java.io.Writer) throws org.json.JSONException;

这个编译后的代码与JSON.org 官方网站提供的源代码不一致,所以我不会使用它。该库非常简单,我建议您自己获取源代码,或者:

  • 将其编译成 JAR
  • 将其直接包含在您的项目中。
于 2013-01-31T14:36:29.730 回答