Sé que Android tiene un analizador JSON incorporado, pero me preguntaba si valía la pena usar algo que ofreciera un mejor rendimiento (como Jackson: consulte http://jackson.codehaus.org/). ¿Alguien lo intentó?Reemplazar el analizador JSON estándar de Android para un mejor rendimiento?
Respuesta
Bueno, aquí hay un couple de links que compara el rendimiento de Jackson JSON con los almacenamientos intermedios JSON, SAX y Protocol existentes. Según el autor, Jackson es más rápido que SAX o el JSON incorporado y está a la par con Protocol Buffers. Esa última parte suena un poco sospechosa, pero, independientemente, ciertamente parece que Jackson trabaja en Android y puede valer la pena experimentar.
No he comprobado el tamaño de JAR, sin embargo. Si es enorme, a menos que estuvieras muriendo por un rendimiento JSON adicional, puede que no valga la pena el impacto en el espacio.
Sí, el tamaño del archivo está definitivamente en mi lista de posibles restricciones. Supongo que si estuviera masticando un montón de JSON en mi aplicación, podría valer la pena agregar a Jackson, pero me quedaré con el JSON estándar por ahora. – Eno
Última respuesta, pero todavía podría ayudar. Estoy usando Jackson para analizar JSON desde Twitter y persistiendo Maps
en la base de datos. El mapeo de datos en Jackson es simplemente maravilloso. Ser capaz de asignar JSON directamente a un objeto es increíble y hace que todo sea mucho más limpio.
Incluso si solo está analizando respuestas simples, la asignación de datos puede ayudarlo a hacer que su código sea más limpio (y más eficiente). Para mí, es un regalo del cielo que no tenga que escribir la lógica de análisis para cada tipo de función API api.
Gracias por esa retroalimentación, es genial tener otra herramienta en el cofre si es necesario. – Eno
Solo una perspectiva más en estos analizadores. Estuve revisando el Google IO para 2009 y realmente se habla mucho sobre el uso eficiente de la batería para los desarrolladores de aplicaciones.
Aquí está el enlace a la charla: link
Ahora según el cura incorporado charla para Android está basada en árbol y estos se supone que son ineficientes cuando se trata de la vida de la batería. ¿Alguien realmente ha investigado esto?
Leyendo a través de esta discusión, parece que el analizador de Jackson parece ser un ganador en todo. Es casi igual de rápido, si no más que uno incorporado y también está basado en eventos/secuencias en lugar de basado en árboles, que es mejor en términos de uso de la batería.
Solo quería compartir y obtener algunas opiniones al respecto.
Yo uso jackson json para implementar mi aplicación de Android que se comunica con el servidor a través de json-rpc. Me gustaría utilizarlo para serializar/deserializar solicitudes json-rpc y respuestas y objetos para transferir los datos. Uso la versión 2.0 de Jackson-json. He puesto en mi ruta de creación dos jarras: jackson-databind-2.0.0.jar, jackson-core-2.0.0.jar y jackson-annotations-2.0.0.jar.
En la nota al margen: ¿Hay alguna aplicación json-rpc para el android. el tráfico json-rpc y http separado sería bueno. He buscado mucho en Google, pero no he encontrado un buen generador json-rpc, serializador/deserializador json y para el transporte iré con la consulta de Android.
Desde API 11, hay una stream json parser en Android
¡Gracias! No noté que estaba allí porque no estaba en el paquete JSON – christophercotton
- 1. ¿El mejor analizador JSON para Qt?
- 2. Analizador JSON para J2ME
- 3. JSON para el analizador de Groovy
- 4. ¿El mejor analizador para C#?
- 5. Diferencia entre el analizador XML SAX, el analizador de arrastre y el analizador DOM en Android
- 6. ¿Cuál es el mejor analizador de XML para Perl?
- 7. Mejor Analizador XML para PHP
- 8. serialización Json y Xml, ¿qué es un mejor rendimiento?
- 9. No se pueden obtener mejoras de rendimiento mediante el analizador OJ JSON
- 10. JavaScript no recursivo Analizador JSON
- 11. Analizador JSON recomendado en C?
- 12. .NET JSON comparación de analizador
- 13. Comparación de rendimiento y usabilidad de las bibliotecas Android JSON
- 14. que es mejor en términos de rendimiento de análisis en Android, XML o JSON?
- 15. ¿Cuál es la mejor solución para reemplazar un nuevo asignador de memoria en un código existente?
- 16. Analizador de Javascript para RDF/JSON de WEBVTT
- 17. Mejor analizador HTML liviano para Delphi
- 18. ¿Qué analizador HTML es el mejor?
- 19. Analizador estándar de Lucene dividido en el período
- 20. ¿Qué analizador HTML DOM funciona mejor en Android?
- 21. PHP: ¿es más rápido el analizador JSON o XML?
- 22. ¿cuál es el mejor analizador html para java?
- 23. std :: string :: reemplazar implementación estándar?
- 24. ¿Cómo puedo mejorar/reemplazar el sprintf, que he medido para ser un hotspot de rendimiento?
- 25. PIL ¿Mejor manera de reemplazar el color?
- 26. Analizador/Analizador para Erlang?
- 27. Python JSON rendimiento de decodificación
- 28. Analizador HTML para GAE
- 29. android: gson rendimiento
- 30. ¿La mejor práctica para incorporar JSON arbitrario en el DOM?
nunca he tenido problemas con la velocidad del analizador JSON de Android. Incluso tengo un archivo JSON de 41kb en una de mis aplicaciones, y se carga en un par de cientos de ms en un G1 (lo cual está bien, ya que solo necesita ejecutarse una vez cuando se inicia la aplicación). –
La velocidad de habla absoluta puede ser aceptable. Todavía es bueno tener en cuenta que en las CPU de escritorio normales, la velocidad de análisis JSON es del orden de decenas de megas; el archivo de 41 kb se haría en milisegundos o menos.Incluso con las CPU más lentas que el sistema Android a menudo tiene, cien milisegundos es bastante lento, en comparación con las alternativas rápidas. Entonces, la herramienta adecuada para el trabajo. Para uso casual (como leer en el archivo de configuración al inicio) los manejadores integrados suelen ser decentes. Todavía es bueno saber que hay margen de mejora si los casos de uso así lo exigen. – StaxMan