Analizando el enorme objeto JSON en Android?
Cómo analizar el enorme archivo JSON en Android?
Cuando analizo tal archivo veo en algo como esto en registros:
- Cómo recibir valores json (por ejemplo: nombre de usuario y contraseña enviar como json desde una aplicación android) en Mvc 4 Web api
- Android paginada lista sin fin no funciona
- ¿Cómo puedo utilizar Retrofit para POST un complejo JSON parámetro
- IOException e es nulo
- Convertir Facebook JSON created_time de formato String a formato largo
04-05 15:55:46.490: DEBUG/dalvikvm(3847): GC freed 12159 objects / 557744 bytes in 142ms 04-05 15:55:46.490: INFO/global(3847): Default buffer size used in BufferedReader constructor. It would be better to be explicit if an 8k-char buffer is required. 04-05 15:55:46.650: DEBUG/dalvikvm(3847): GC freed 56 objects / 100176 bytes in 115ms 04-05 15:55:46.660: INFO/dalvikvm-heap(3847): Grow heap (frag case) to 4.207MB for 110626-byte allocation 04-05 15:55:46.760: DEBUG/dalvikvm(3847): GC freed 0 objects / 0 bytes in 104ms 04-05 15:55:46.890: DEBUG/dalvikvm(3847): GC freed 3 objects / 73856 bytes in 115ms 04-05 15:55:47.050: DEBUG/dalvikvm(3847): GC freed 7 objects / 110872 bytes in 113ms 04-05 15:55:47.050: INFO/dalvikvm-heap(3847): Grow heap (frag case) to 4.426MB for 248896-byte allocation 04-05 15:55:47.150: DEBUG/dalvikvm(3847): GC freed 0 objects / 0 bytes in 104ms 04-05 15:55:47.310: DEBUG/dalvikvm(3847): GC freed 8 objects / 166232 bytes in 106ms 04-05 15:55:47.310: INFO/dalvikvm-heap(3847): Grow heap (frag case) to 4.624MB for 373340-byte allocation 04-05 15:55:47.420: DEBUG/dalvikvm(3847): GC freed 0 objects / 0 bytes in 106ms 04-05 15:55:47.580: DEBUG/dalvikvm(3847): GC freed 10 objects / 249288 bytes in 111ms 04-05 15:55:47.590: INFO/dalvikvm-heap(3847): Grow heap (frag case) to 4.920MB for 560006-byte allocation 04-05 15:55:47.690: DEBUG/dalvikvm(3847): GC freed 0 objects / 0 bytes in 98ms 04-05 15:55:47.810: DEBUG/dalvikvm(3847): GC freed 12 objects / 373792 bytes in 88ms 04-05 15:55:47.910: DEBUG/dalvikvm(3847): GC freed 4 objects / 560088 bytes in 87ms 04-05 15:55:48.010: DEBUG/dalvikvm(3847): GC freed 5 objects / 128 bytes in 88ms 04-05 15:55:48.010: INFO/dalvikvm-heap(3847): Grow heap (frag case) to 5.350MB for 461302-byte allocation 04-05 15:55:48.130: DEBUG/dalvikvm(3847): GC freed 0 objects / 0 bytes in 120ms 04-05 15:55:48.990: DEBUG/dalvikvm(3847): GC freed 10419 objects / 1383992 bytes in 109ms 04-05 15:55:49.720: DEBUG/dalvikvm(3847): GC freed 8769 objects / 384360 bytes in 115ms 04-05 15:55:50.550: DEBUG/dalvikvm(3847): GC freed 10472 objects / 454880 bytes in 129ms 04-05 15:55:51.590: DEBUG/dalvikvm(3847): GC freed 12663 objects / 554440 bytes in 147ms
¿Hay un parser del tirón para los archivos de Json? ¿Cómo lidiar con tal cosa?
- ArrayIndexOutOfBoundsException error en el análisis de datos JSON
- Android: Json cadena con espacios da "objeto no terminado en" excepción
- ¿Cómo puedo enviar JSon como BODY en una solicitud POST al servidor desde una aplicación de Android?
- Android - Ruby on Rails - MySQL
- Cómo analizar este tipo de json String con Gson?
- Utilizar GSON para analizar un JSON con "clave" dinámica y "valor" en android
- Simple analizar JSON de URL en Android y mostrar en listview
- Conexión de Android a localhost
Echa un vistazo al analizador Jackson JSON, es más rápido que el de Android, y más rápido que GSON, y soporta streaming.
Sin embargo, reiterar el punto hecho por otros que su JSON es enorme y que sugieren un diseño no óptimo. por ejemplo, si la conexión es falsa y falla varias veces, podría provocar que el usuario incurra en costes de datos adicionales en un plan de datos móvil. Siempre es mejor romperlo donde sea posible para que el fracaso no implique solicitar todo el lote de nuevo.
Puedes buscar en JsonStreamParser en gson si estás buscando una interfaz que arroje objetos json en lugar de analizar todo inmediatamente.