我正在尝试返回已提供给 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 似乎知道该方法存在,因为它知道其正确的返回类型,但它声称该方法在类中未定义。