所以我试图获取特定JSON对象中的所有键,但只获取最后一个键。
public void setUpSearch(JSONObject data_json){
Iterator<String> keys = data_json.keys();
while (keys.hasNext()) {
//get the key
String key = keys.next();
scripts = new ArrayList<String>();
scripts.add(key);
Log.i(TAG, key);
Log.i(TAG, String.valueOf(scripts));
}
Logtagging键显示所有键(大约300个em),但是logtagging脚本只显示最后一个键。
任何帮助都将受到高度赞赏。
答案 0 :(得分:3)
因为您的代码中存在BUG。 ArrayList
初始化应该在循环外,否则你每次都要覆盖以前的。
使用以下代码:
public void setUpSearch(JSONObject data_json){
Iterator<String> keys = data_json.keys();
scripts = new ArrayList<String>();
while (keys.hasNext()) {
//get the key
String key = keys.next();
scripts.add(key);
Log.i(TAG, key);
Log.i(TAG, String.valueOf(scripts));
}