【问题标题】:JSONArray remove cannot find symbol error in JAVAJSONArray 删除在 JAVA 中找不到符号错误
【发布时间】:2013-01-31 12:45:52
【问题描述】:

[描述]
1. 使用 Java
2. 使用 org.json.JSONArray 和 org.json.JSONObject
[问题]
当我调用 JSONArray 的 remove() 方法时,编译我的项目时总是得到“找不到符号:方法删除(int)”,有什么帮助吗?

这是一个类似的问题:How to remove JSONArray element using Java
但答案似乎不正确,因为这只会删除内部 JSONObject 的键值对,而不是整个内部 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.

提前感谢您的帮助。

【问题讨论】:

  • 您是否在使用(比如说)没有特定方法的旧版本库?
  • [Check this][1] 它可能对您有帮助... 使用名称-值 [1] 删除 json 数组:stackoverflow.com/questions/6310623/…
  • [对 Brian] 我检查了我使用的 jar 文件,它确实有删除方法。 [对 Pratik] 谢谢,但我说我使用的是 java,而不是 javascript。
  • 嗯,remove(int) 方法自 very first commit 以来一直在代码库中。这一定是您如何将代码包含到项目中的错误。
  • [to Perception] 我使用java,所以==> 在库路径中包含“org.json.jar”,以及“import org.json.JSONArray;”在代码中。该类的其他函数在我的项目中运行良好,但只有这个 remove() 函数。

标签: java json arrays


【解决方案1】:

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

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;

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

  • 将其编译成 JAR
  • 将其直接包含到您的项目中。

【讨论】:

  • 感谢知觉。在我的项目中,我反编译了 org.json.jar,它确实有一个 remove() 方法。不知道为什么会出现此“找不到符号”错误。现在我使用 ArrayList 代替 JSONArray,然后我可以使用 ArrayList 的 remove() 方法。再次感谢您的帮助和建议。
猜你喜欢
  • 2013-05-20
  • 2013-12-06
  • 2016-07-22
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多