java - 使用 JSONObject Java 类的静态 getNames 方法时,Eclipse 中出现语法错误

标签 java eclipse json static-methods

我试图返回已提供给 JSONObject 类的所有名称(例如,其自己的数组中的所有键,没有关联的值)。我的代码目前如下:

String names[] = new String[10];
names = JSONObject.getNames(jsonObj);

我试图从中获取数组的方法是:

public static String[] getNames(JSONObject jo) {
    int length = jo.length();
    if (length == 0) {
        return null;
    }
    Iterator iterator = jo.keys();
    String[] names = new String[length];
    int i = 0;
    while (iterator.hasNext()) {
        names[i] = (String)iterator.next();
        i += 1;
    }
    return names;
}

这是我收到的错误:

The method getNames(JSONObject) is undefined for the type JSONObject

但是,如果我将代码设置为故意返回并将其分配给错误类型的变量:

int inames = JSONObject.getNames(jsonObj);

突出显示上述行的 JSONObject 部分或 jsonObj 参数会导致 Eclipse 显示以下错误:

Type mismatch: cannot convert from String[] to int

尽管突出显示 getNames 方法,仍然会出现与以前相同的错误。

我能从中得到什么? Eclipse 似乎知道该方法在那里,因为它知道其正确的返回类型,但它声称该方法在类中未定义。

最佳答案

看来方法getNames不是JSONObject的静态方法。我对吗?

它是在哪个类中声明的?

如果它是类 X 你应该这样做:

X.getNames(jsonObj);

关于java - 使用 JSONObject Java 类的静态 getNames 方法时,Eclipse 中出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11343303/

相关文章:

java - 诊断间歇性连接超时?

visual-studio - 如何将 Visual Studio 特性引入 Eclipse?

c++ - 如何在 eclipse ".pro File Editor"中打开

java - 如何使用 Jackson 将 Java Map 转换为组合的 POJO?

java - 我如何在java中管理多个文件和文件夹?

java - 使用resteasy/jax-rs从请求有效负载接收两种类型的数据

eclipse - 如何在 Eclipse 中使用 XSLT 2.0?

python - 如何在 folium choropleths 中正确使用 key_on

jquery - 使用 jQuery 在 DIV 中显示 JSON 对象

java - 使用 OAuth2RestTemplate 请求 HTTPS 资源