2016-12-28 85 views
-1

我想在android中使用AsyncTask解析JSON數據。當我使用JSONObject類的keySet()方法時,它會拋出一個錯誤,說keySet() could not be resolved into a method。我在Eclipse中爲Java項目使用相同的代碼,並且工作正常。幫幫我。無法解析android中的keySet()方法

代碼:

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:+' 
} 
+0

'pages.keySet()'應該是'pages.keys()' – Blackbelt

+0

這個JSONObject的包裝是什麼? 'org.json'? –

+0

這個JSONObject的包裝是什麼? 'org.json'? –

回答

1

試試這個:

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

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

完美無瑕的兄弟。謝謝 –