【问题标题】:Cannot resolve keySet() method in android无法解析 android 中的 keySet() 方法
【发布时间】:2016-12-28 14:33:56
【问题描述】:

我正在尝试在 android 中使用 AsyncTask 解析 JSON 数据。当我使用 JSONObject 类的 keySet() 方法时,它会抛出一个错误,说keySet() could not be resolved into a method。我在 Eclipse 中为 Java 项目使用相同的代码,并且工作正常。帮助。

代码:

JSONObject data=(JSONObject) new JSONTokener(IOUtils.toString(new URL(strings[0]))).nextValue();
JSONObject pages=data.getJSONObject("query").getJSONObject("pages");
for(String key:pages.keySet()){
result=pages.getJSONObject(key).getString("extract");
}

build.gradle:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.2.0'
    compile 'com.android.support:support-v4:24.2.0'
    compile 'org.json:json:20160810'
    compile 'commons-io:commons-io:+'
}

【问题讨论】:

  • pages.keySet() 应该是 pages.keys()
  • 这个JSONObject进来的包是什么? org.json?
  • 这个JSONObject进来的包是什么? org.json?
  • 是的,我在依赖项中添加的org.json
  • @Blackbelt 我无法以与 keySet 相同的方式迭代 page.keys

标签: java android org.json


【解决方案1】:

试试这个:

Iterator < ? > keys = jObject.keys();

while (keys.hasNext()) {
    String key = (String) keys.next();
    if (jObject.get(key) instanceof JSONObject) {
    }
}

【讨论】:

  • 工作完美的兄弟。谢谢
猜你喜欢
  • 2018-06-04
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-26
  • 1970-01-01
相关资源
最近更新 更多