251 votes

Quel est le meilleur analyseur JSON C++ ?

J'ai vu les liens C++ JSON sur le site officiel de JSON et j'aimerais avoir un retour sur l'analyseur que les gens préfèrent - pour la fiabilité, la vitesse et la facilité d'utilisation.

91voto

mpdaly Points 1145

J'ai examiné la plupart d'entre eux il y a un an environ, et j'ai opté pour JsonCpp ( http://jsoncpp.sourceforge.net/ ). Je l'ai trouvé fiable, rapide et facile à utiliser, donc 3/3.

59voto

therefromhere Points 21329

J'utilise Esprit JSON sur un projet en ce moment, il m'impressionne jusqu'à présent.

Notez qu'il s'appuie sur Boost (ne serait-ce que pour les en-têtes).

Caractéristiques pratiques :

  • Supporte l'Unicode.
  • Utilise std::vector pour contenir les tableaux, ce qui facilite l'interopérabilité.
  • Fournit une jolie fonction d'impression ( write_formatted ).
  • Possède des fonctions de lecture et d'écriture pour les chaînes de caractères et les flux.

Notez que Les objets sont également mis en œuvre à l'aide de vecteurs (pas de carte), ce qui signifie un accès plus lent, mais l'ordre des éléments est maintenu.

26voto

Marty McFly Points 277

Voir aussi Boost property_tree inclus dans la version 1.41.0 de Boost :

http://www.boost.org/doc/libs/1_41_0/doc/html/property_tree.html

Il fournit une structure générique d'arbre de propriétés et inclut des analyseurs/générateurs pour JSON, XML et INI. Il n'y a que des en-têtes et il utilise Boost Spirit pour la génération/analyse.

16voto

Suren Points 188

Jansson - http://www.digip.org/jansson/

  1. fonctionne bien
  2. semble également être activement entretenu.
  3. documentation détaillée

Ça m'a rendu la vie facile.

10voto

Spike Points 304

Je sais que vous demandez à propos de C++, mais yajl vaut vraiment la peine d'être essayé aussi. Il possède de nombreuses fonctionnalités qui ne sont pas disponibles dans de nombreux autres analyseurs, et surtout, il est rapide.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X