Saltar al contenido

JSONObject de Android: ¿cómo puedo recorrer un objeto JSON plano para obtener cada uno? key y valor

Contamos con la mejor respuesta que encontramos en todo internet. Nuestro deseo es que te resulte de utilidad y si quieres aportar cualquier detalle que nos pueda ayudar a mejorar hazlo libremente.

Solución:

Utilizar el keys() iterador para iterar sobre todas las propiedades, y llamar get() para cada.

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

Versión corta de la respuesta de Franci:

for(Iterator iter = json.keys();iter.hasNext();) 
    String key = iter.next();
    ...

Necesitarás usar un Iterator para recorrer el keys para obtener sus valores.

Aquí hay una implementación de Kotlin, se dará cuenta de que la forma en que obtuve el string esta usando optString()que espera una cadena o un valor anulable.

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

Si te sientes incitado, puedes dejar un post acerca de qué le añadirías a este post.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *