Quelles sont les différences entre ces deux classes?
Si quelqu'un utilise la bibliothèque Gson, il est préférable d'utiliser com.google.json.JsonObject
sur org.json.JSONObject
?
Quelqu'un pourrait-il énumérer les avantages et les inconvénients de ces 2 choix?
De nombreuses implémentations JSON sont disponibles sur le marché et la plupart d'entre elles sont open source. Chacun a des avantages et des inconvénients spécifiques.
Google GSON cliquez pour les documents officiels
Jackson cliquez pour les documents officiels
Certains blogs de comparaison, cliquez ici blogs1 , blog2
J'ai personnellement fait un benchmark pour la sérialisation et la désérialisation en utilisant GSON vs Jackson vs Simple JSON
Voici les principales différences:
1) GSON peut utiliser la définition d'objet pour créer directement un objet du type souhaité. JSONObject doit être analysé manuellement.
2) org.json est une API simple et arborescente. Sa plus grande faiblesse est qu'il vous oblige à charger l'intégralité du document JSON dans une chaîne avant de pouvoir l'analyser. Pour les documents JSON volumineux, cela peut être inefficace.
3) La plus grande faiblesse de l'implémentation org.json est de loin JSONException. Ce n'est tout simplement pas pratique d'avoir à placer un bloc try/catch autour de tous vos trucs JSON.
4) Gson est la meilleure API pour l'analyse JSON sur Android. Il a une très petite taille binaire (moins de 200 Ko), une liaison de données rapide et une API simple et facile à utiliser.
5) GSON et Jackson sont les solutions les plus populaires pour gérer les données JSON dans le monde Java.