programing

Android JSONObject - 플랫 JSON 객체를 루프하여 각 키와 값을 얻는 방법

prostudy 2022. 9. 11. 15:39
반응형

Android JSONObject - 플랫 JSON 객체를 루프하여 각 키와 값을 얻는 방법

{
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

키나 값을 미리 파악하지 않고 각 항목의 키와 값을 얻을 수 있는 방법은 무엇입니까?

반복기를 사용하여 모든 속성을 반복하고 각각 호출합니다.

Iterator<String> iter = json.keys();
while (iter.hasNext()) {
    String key = iter.next();
    try {
        Object value = json.get(key);
    } catch (JSONException e) {
        // Something went wrong!
    }
}

Franci의 짧은 답변:

for(Iterator<String> iter = json.keys();iter.hasNext();) {
    String key = iter.next();
    ...
}

를 사용해야 합니다.Iterator키를 루프하여 값을 얻습니다.

여기 Kotlin의 구현이 있습니다. 제가 이 문자열을 얻는 방법은optString()String 또는 늘 가능한 값이 필요합니다.

val keys = jsonObject.keys()
while (keys.hasNext()) {
    val key = keys.next()
    val value = targetJson.optString(key)        
}

를 사용해야 합니다.keys()또는names()방법. keys()오브젝트 내의 모든 String 속성 이름을 포함하는 반복기를 제공합니다.names()는 모든 키 문자열 이름의 배열을 제공합니다.

여기서 JSONObject 문서를 얻을 수 있습니다.

http://developer.android.com/reference/org/json/JSONObject.html

JSONObject 참조를 참조하십시오.

http://www.json.org/javadoc/org/json/JSONObject.html

오브젝트를 실제로 사용하지 않으면 getNames() 또는 keys() 중 하나를 사용하여 반복기를 반환하는 것처럼 보입니다.

언급URL : https://stackoverflow.com/questions/13573913/android-jsonobject-how-can-i-loop-through-a-flat-json-object-to-get-each-key-a

반응형