Après avoir recherché JSON dans certaines bibliothèques existantes, je me suis finalement retrouvé avec ces deux:
Je suis un peu partial envers GSON, mais Word sur le net indique que GSon souffre d'une certaine performance céleste émission (à partir de septembre 2009).
Je continue ma comparaison; En attendant, je cherche de l’aide pour me décider.
J'ai fait cette recherche la semaine dernière et je me suis retrouvé avec les mêmes 2 bibliothèques. Comme j'utilise Spring 3 (qui adopte Jackson dans sa vue Json par défaut ' JacksonJsonView '), il était plus naturel pour moi de faire de même. Les 2 lib sont à peu près les mêmes ... à la fin, ils correspondent simplement à un fichier json! :)
Quoi qu'il en soit, comme vous l'avez dit , Jackson a un + en performance et c'est très important pour moi. Le projet est également très actif, comme vous pouvez le constater sur leur page Web et c'est également un très bon signe.
Jackson et Gson sont les packages JSON les plus complets Java concernant la prise en charge réelle des liaisons de données. de nombreux autres packages ne fournissent que des liaisons primitives Map/List (ou un modèle d'arborescence équivalent). Les deux prennent également en charge les types génériques, ainsi qu'une configurabilité suffisante pour de nombreux cas d'utilisation courants.
Depuis que je connais mieux Jackson, voici quelques aspects pour lesquels je pense que Jackson bénéficie d’un soutien plus complet que Gson (excuses si je manque une fonction de Gson):
Gson 1.6 inclut maintenant une API de streaming de bas niveau et un nouvel analyseur qui est en réalité plus rapide que Jackson.
Ajout aux autres réponses déjà données ci-dessus. Si l'insensibilité à la casse a une importance pour vous, utilisez Jackson. Gson ne prend pas en charge l'insensibilité à la casse pour les noms de clé, contrairement à Jackson.
Voici deux liens connexes
(Non) Prise en charge de la sensibilité à la casse dans Gson: GSON: Comment obtenir un élément insensible à la casse de Json?
Prise en charge de la sensibilité à la casse dans Jackson https://Gist.github.com/electrum/1260489
Il semble que GSon ne supporte pas JAXB. En utilisant la classe annotée JAXB pour créer ou traiter le message JSON, je peux partager la même classe pour créer l'interface de service Web reposant à l'aide de spring MVC.