Android JSONObject vs GSON
No puedo entender la diferencia entre JSONObject y GSON para analizar cadenas JSON en Android.
¿Puede alguien explicar?
- JSONArray no funciona cuando recibo la cadena JSON del servidor
- JSONObject.toString: cómo no escapar de barras
- Android: ¿cuál es la mejor manera de almacenar los datos de JSON sin conexión para la aplicación en android?
- Deserialización de la matriz del asignador de objetos de json de jackson del androide
- Android - cómo analizar json con el objeto en el índice
- Gson Array de deserialización de matrices
- Obtención de encabezado de respuesta (Retrofit / OkHttp Client)
- Que es mejor en términos de análisis de rendimiento en Android, XML o JSON?
- Diferentes formas de publicar valores json en Server
- Diseño como la aplicación HotStar
- Pasar JSONArray a PHP desde Android
- Configuración de la tarea asincrónica para cargar Json en una vista de lista
- ¿Cómo puedo eliminar la clave nameValuePairs del JSONObject?
GSON puede utilizar la definición de objeto para crear directamente un objeto del tipo deseado. JSONObject necesita ser analizado manualmente. Esa es la diferencia principal.
Otra diferencia es que GSON no puede obtener valores clave que a veces pueden ser una molestia. Una solución sencilla es utilizar uno de ellos y cuando necesite el otro sólo use toString () para cambiarlos.
Como los otros dijeron, GSON
debe hacer la asignación de JSON
a POJO
mucho más fácil, pero, la última versión de GSON
(como yo escribo, 2.2.2) tiene serios problemas con la última Android API 17 (Android 4.2).
Consulta esta información: http://code.google.com/p/google-gson/issues/detail?id=496
Si está haciendo un nuevo proyecto ahora, y quiere que sea compatible con Android 4.2, utilice una GSON
más GSON
(1.7.1 funciona bien con Android 4.2, pero es más lenta) o busque otra solución.
Lo que dice Tim también es correcto,
Gson es la mejor API para analizar JSON en Android. Tiene un tamaño binario muy pequeño (menos de 200 KiB), hace enlace rápido de datos, y tiene un simple fácil de usar API. Las librerías JSON integradas de Android también son buenas. Debería usarlos si no está haciendo mucho JSON y no necesita conexión de datos.
Hay dos API de JSON en Android:
Org.json es una API simple de árbol. Su mayor debilidad es que requiere que cargue todo el documento JSON en una cadena antes de poder analizarlo. Para documentos JSON grandes esto puede ser ineficiente. http://developer.android.com/reference/org/json/package-summary.html
Android.util.JsonReader / JsonWriter son API de streaming de bajo nivel. Ellos son eficientes, pero no hacen enlace de datos, por lo que necesita para escribir algunos claves de código para utilizar estos. Sólo están disponibles en Android 3+. Para versiones anteriores de Android, la misma API está disponible de forma independiente en el paquete de flujo de Gson. http://developer.android.com/reference/android/util/JsonReader.html
JsonReader y JsonWriter de Gson se derivan de JsonReader y JsonWriter de Android. Literalmente los copié y pegué de Android en Gson un día, e intento mantenerlos sincronizados mientras optimizo uno u otro.
- Cómo vincular tanto Mousedown y Touchstart, pero no responder a ambos? Android, JQuery
- Eliminar imagen en miniatura de la galería cuando se ocultó