¿Es posible iterar a través de JSONArray? [duplicate]

1 minuto de lectura

avatar de usuario
eugenio

Posibles duplicados:

Iteración de JSON Array en Android/Java
JSONArray con Java

¿Es posible iterar a través de Matriz JSON objeto usando iterador?

  • Mira esto en stackoverflow.com/questions/3408985/…

    – yeradis

    24 de enero de 2011 a las 17:21

  • El enlace de la pregunta devuelve el error 404.

    – Rubén

    29 de septiembre de 2018 a las 18:08

avatar de usuario
ben mccann

No con un iterador.

Para org.json.JSONArraytu puedes hacer:

for (int i = 0; i < arr.length(); i++) {
  arr.getJSONObject(i);
}

Para javax.json.JsonArraytu puedes hacer:

for (int i = 0; i < arr.size(); i++) {
  arr.getJsonObject(i);
}

  • ¿No llamaría a arr.length() en cada iteración? Entonces, tal vez sea mejor poner eso en vairable y usarlo en el ciclo.

    – husayt

    7 de marzo de 2012 a las 12:05

  • Bueno, sí, pero siempre tendrá el mismo valor, pero sí, es innecesario que una variable sea mejor.

    – Enrique C.

    6 de agosto de 2013 a las 10:34

  • Depende del compilador, también creo que solo será un captador que obtenga un valor que no sea mutable desde fuera de la instancia, establecer una variable solo asignaría más memoria 8-).

    – Mathijs Seger

    23 de enero de 2015 a las 13:14

  • No hay .length() método en un JsonArraypero hay un .size() método heredado de java.util.List. docs.oracle.com/javaee/7/api/javax/json/JsonArray.html

    – Pedro

    11 de diciembre de 2016 a las 2:25


  • ¿Se está refiriendo a github.com/stleary/JSON-java/blob/master/JSONArray.java?

    –Mike Stoddart

    13 de enero de 2017 a las 16:08

Puedes usar el opt(int) método y utilizar un clásico for círculo.

¿Ha sido útil esta solución?