Optimizar JSonArray para Loop

Hoy, estoy tratando de optimizar mi JSONArray con respecto a la documentación para desarrolladores de android . Se suponía que debía optimizarlo, pero hay un mensaje de error que sale.

JSONArray infojson = json.getJSONArray("getInfo"); for(int i=0;i < infojson.length();i++){ JSONObject e = infojson.getJSONObject(i); hm = new HashMap<String, Object>(); hm.put(MYNAME, e.getString("uname")); hm.put(MYAGE, e.getString("uage")); } 

Y he optimizado por encima de la codificación como sigue

 JSONArray infojson = jsonObject.getJSONArray("getInfo"); for (Object o : infojson ) { JSONObject jsonLineItem = (JSONObject) o; String myname = jsonLineItem.getString("uname"); String myage = jsonLineItem.getString("uage"); } 

Por desgracia, tengo el mensaje de error siguiente que ocurre en "infojson) {"

Solo se puede iterar sobre una matriz o una instancia de java.lang.Iterable

No puede utilizar JSONArray con la sintaxis que no implementa la interfaz Iterable . Como advertencia, la mejoría en el rendimiento de micro que obtenga probablemente no afectará el rendimiento de su aplicación, ya que los resultados de JSON que se devuelven desde el WebService normalmente no son de gran tamaño.

Está recibiendo ese error porque JSONArray no implementa la interface Iterable .

En resumen, no hay manera limpia de resolver esto; Tendría que serializar los JSONObjects en su clase personalizada.

Sin embargo, para ahorrar tiempo, usar (Object one: all) over (i=0; i < all.getLength(); i++) no le dará ninguna mejora en tiempo de ejecución.

Sólo se adhieren a la normal para el bucle.

  • ¿Cómo analizar después de JSON usando GSON en android?
  • Cuando se utiliza JSON en Fragmentos, la aplicación no responde en Android Development
  • ¿Cuál es la causa de este problema "No se puede convertir el argumento de la clase de tipo org.json.JSONArray" en reaccionar-androide nativo?
  • No se puede ver la respuesta JSON de php en android
  • GSON / Jackson en Android
  • GSON: ¿Se esperaba una cadena pero era BEGIN_OBJECT?
  • E / Volley: BasicNetwork.performRequest: Código de respuesta inesperado 307 para url
  • Jackson JSON Parser rendimiento
  • Cómo enviar datos JSON como parámetro de Android a Jersey RESTful Service
  • Análisis de JSON y guardarlos en la base de datos SQLite
  • Comprobando si existe subobjeto en JSON
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.