Android JSONObject vs GSON

No puedo entender la diferencia entre JSONObject y GSON para analizar cadenas JSON en Android.

¿Puede alguien explicar?

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.

  • Consumir servicios REST en Android, la forma más fácil?
  • Comprobación de Json en un servicio web
  • Cargando JSON de String en JSONArray en Android
  • Convertir JSONArray a Array de cadenas
  • HttpGet con el cuerpo de la solicitud Android
  • Analizar el objeto JSON con gson
  • Obtener json de HttpResponse
  • Android: los datos de la cadena JSON se comparan con otra cadena
  • HttpClient.execute lanzando OutOfMemoryError
  • La mejor manera de almacenar en caché una respuesta de XML / JSON en mi uso. Archivo de texto completo?
  • La aplicación se bloquea cuando ejecuto Proguard en GSON (que utiliza enum)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.