所以我试图获取特定 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));
}
日志标记键显示所有键(大约 300 个 em),但日志标记脚本仅显示最后一个。
任何帮助将不胜感激。
最佳答案
因为你的代码有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));
}
关于Java 数组列表在迭代 JSON 对象中的键时仅添加 1 个项目(最后一个键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31091389/