【发布时间】: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