2016-08-11 5 views
2

Мой JSON находится ниже. Мне нужно принимать значение по ключу в одном цикле для всех объектов. Токовая петля неверна. Мне нужно изменить его. Любые решения?JsonObject Получить значение по ключу

[ 
    { 
    "key": "firstName", 
    "value": "8796ccd6-56c8-441f-830b-bb1caa16d3d1" 
    }, 
    { 
    "key": "lastName", 
    "value": "92e68944-e54c-4ad3-b368-cc5b35dcf9f6" 
    }, 
    { 
    "key": "user", 
    "value": "0d866084-78aa-4fcf-a110-7627ce831172" 
    } 
] 

Моя часть кода:

for (int i = 0; i < jsonMainArr.length(); i++) { 
    JSONObject objects = jsonMainArr.getJSONObject(i); 
    Iterator key = objects.keys(); 
    while (key.hasNext()) { 
     String k = key.next().toString(); 
     System.out.println("Key : " + k + ", value : " + objects.getString(k)); 
    } 
} 

ответ

-1
for (int i = 0; i < jsonMainArr.length(); i++) { 
    JSONObject objects = jsonMainArr.getJSONObject(i); 
    String key = objects.getString("key"); 
    String value= objects.getString("value"); 
} 
+0

, но это займет JSONObject первое, второе и т.д. Мне нужно получить все значения в одном цикле –

-1
jObject = new JSONObject(contents.trim()); 
Iterator<?> keys = jObject.keys(); 

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

    } 
} 
+1

Просьба предоставить объяснение кода чтобы помочь другим пользователям понять это лучше. – OldMcDonald

Смежные вопросы