2011-11-14 29 views

Respuesta

34

GSON puede usar la definición del objeto para crear directamente un objeto del tipo deseado. JSONObject necesita ser analizado manualmente. Esa es la principal diferencia.

4

como decían los otros, GSON debe hacer el mapeo JSON-POJO mucho más fácil, pero, la versión más reciente GSON (mientras escribo, 2.2.2) tiene serios problemas con la última Android API 17 (Android 4.2).

Marque esta información: http://code.google.com/p/google-gson/issues/detail?id=496

Si usted está haciendo un nuevo proyecto ahora, y quieren que sea compatible con Android 4.2, o bien utilizar un mayor GSON (1.7.1 funciona bien con Android 4.2, pero es más lento), o encuentra otra solución.

1

Lo que se dice Tim correcta también,

Gson es el mejor JSON API para el análisis sintáctico en Android. Tiene un tamaño binario muy pequeño de (menos de 200 KiB), es un enlace de datos rápido y tiene una API simple fácil de usar. Las bibliotecas JSON integradas de Android también son buenas. Usted debe usarlos si no está haciendo mucho JSON y no necesita el enlace de datos .

0

Hay dos API JSON en Android:

org.json es una API simple, al estilo de árbol. Su mayor debilidad es que requiere que cargue todo el documento JSON en una cadena antes de que pueda 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 transmisión de bajo nivel. Son eficientes pero no hacen enlaces de datos, por lo que necesita escribir algunos código repetitivo para usarlos. Solo están disponibles en Android 3+. Para versiones anteriores de Android, la misma API está disponible independiente en el paquete de transmisión de Gson. http://developer.android.com/reference/android/util/JsonReader.html

JsonReader y JsonWriter de Gson se derivan de JsonReader de Android y JsonWriter. Literalmente los copié y los pegué desde Android en Gson un día, y trato de mantenerlos sincronizados mientras optimizo uno o el otro.

+3

Con mucho, la mayor debilidad de la implementación 'org.json' es' JSONException'. Simplemente no es conveniente tener que colocar un bloque 'try/catch' alrededor de todas tus cosas JSON. – aroth

+0

Gracias @aroth por agregar valiosos comentarios. – Mubarak

Cuestiones relacionadas