web-dev-qa-db-fra.com

Android JSONObject vs. GSON

Je ne suis pas en mesure de comprendre la différence entre JSONObject et GSON pour l'analyse de chaînes JSON dans Android.

Quelqu'un peut-il expliquer?

25
May13ank

GSON peut utiliser la définition d'objet pour créer directement un objet du type souhaité. JSONObject doit être analysé manuellement. Thats la principale différence.

35
Tim

comme les autres l'ont dit, GSON devrait rendre la cartographie JSON à POJO beaucoup plus facile, MAIS, la dernière version GSON (au moment où j'écris, 2.2.2) a de sérieux problèmes avec la dernière API Android 17 (Android 4.2).

Vérifiez cette information pour: http://code.google.com/p/google-gson/issues/detail?id=496

Si vous travaillez maintenant sur un nouveau projet et souhaitez le rendre compatible avec Android 4.2, utilisez une version plus ancienne, GSON (la version 1.7.1 fonctionne bien avec Android 4.2, mais est plus lente), ou recherchez une autre solution.

4
Tech Engineer

Ce que Tim a dit correct aussi, 

Gson est la meilleure API pour l'analyse JSON sur Android. Il a une très petite taille binaire (moins de 200 Ko), établit une liaison de données rapide et possède une API simple facile à utiliser. Les bibliothèques JSON intégrées d'Android sont également utiles. Vous Devriez les utiliser si vous ne faites pas beaucoup de JSON et n'avez pas besoin de La databinding. 

1
manDroid

Il y a deux API JSON sur Android: 

org.json est une API simple, en arborescence. Sa plus grande faiblesse est que Vous oblige à charger l'intégralité du document JSON dans une chaîne avant que Puisse l'analyser. Pour les gros documents JSON, cela peut s'avérer inefficace. http://developer.Android.com/reference/org/json/package-summary.html

Android.util.JsonReader/JsonWriter sont des API de streaming de bas niveau. Ils sont efficaces mais n'effectuent pas de liaison de données. Vous devez donc écrire du code Pour les utiliser. Ils sont uniquement disponibles dans Android 3+. Pour les versions antérieures d'Android, la même API est disponible en autonome Dans le package de flux de Gson. http://developer.Android.com/reference/Android/util/JsonReader.html

JsonReader et JsonWriter de Gson sont dérivés des logiciels JsonReader Et JsonWriter d'Android. Je les ai littéralement copiées et collées depuis Android dans Gson un jour et j'essaie de les synchroniser pour optimiser l'un ou l'autre . 

0
Mubarak