Optimización del análisis de JSON en Android
Estoy desarrollando una aplicación para Android que necesita obtener una cantidad importante de datos de un feed de JSON. Este feed es un archivo JSON de una línea, con un peso aproximado de 400 ko, que contiene aproximadamente 10 matrices que necesito obtener.
Estoy usando la biblioteca JSON para Android para hacerlo, y la salida funciona bien, pero se tarda siglos (bien, 30 segundos aprox.) Para calcular. El paso de descarga se realiza rápidamente, es decir, la creación de los objetos JSON que parece ser muy larga. Aquí están mis pasos (quitar try / catch bloques y así sucesivamente).
- Obtener y analizar archivo CSV en android
- Jsoup no puede leer el archivo de retorno xml
- Envío de los datos al servidor a través del correo cuando la conexión a Internet vuelve
- Desvío de paquetes VPN
- GSON evitar el JsonSyntaxException devolver el mapeo parcial
JSONObject feed = new JSONObject(big_string_from_feed); JSONArray firstArray = feed.getJSONArray("key1"); JSONArray secondArray = feed.getJSONArray("key2");
[…]
Y después de pasar por todas mis matrices para obtener todos los elementos de la siguiente manera:
for (int currentIndex =0;currentIndex<firstArray.length();currentIndex++){ JSONObject myObject = firstArray.getJSONObject(currentIndex); [....] }
¿Hay algo mal en la forma en que hago esto? Hay una mejor manera de hacerlo ?
Muchas gracias por adelantado.
- Cómo solucionar IncompatibleClassChangeError durante Android Jackson Parsing usando anotaciones en Android Lollipop?
- ¿Por qué este análisis de SimpleDataFormat falla en Android?
- Envío y análisis de objetos JSON
- Cómo analizar JSON en Android
- Análisis de JSON en Android
- Alternativa del método Jsoup.parse ()
- ¿Qué analizador DOM de HTML funciona mejor en Android?
- GSON. Cómo convertir json objeto a json array?
Si el rendimiento es una preocupación, utilice Jackson. Consulte https://github.com/eishay/jvm-serializers/wiki para obtener resultados de rendimiento. (Estos resultados se deben actualizar pronto para incluir el procesamiento de Jackson manual / tree-strings, que tendrá un rendimiento en algún lugar entre el procesamiento manual de Jackson y el procesamiento de cadenas de datos de Jackson.
Consulte json-simple (consulte http://code.google.com/p/json-simple ). Proporciona el análisis de estilo SAX de los flujos JSON y es más rápido.