2016-04-07 23 views
3

Wir haben Anforderung von C/C++ Parser in meiner Anwendung. Was für eine Anwendung es ist, ruft Rest Webservice auf und nimmt die Ausgabe vom Dienst. Wenn die Ausgabe JSON ist, sollte sie analysiert werden und das Ergebnis dem Endbenutzer angezeigt werden.C/C++ JSON Parser

Könnten Sie mir bitte guten/besten C/CPP JSON Parser (nach Ihrer Meinung) empfehlen, damit ich in meiner Anwendung verwenden kann?

Wenn ich online suche, bekomme ich mehrere JSON-Parser. Aber ich würde gerne über das Beste wissen.

Vielen Dank im Voraus

+0

Es gibt keine Sprache namens "C/C++". Welche Bibliothek du auswählst, hängt von der Sprache ab, die du benutzt, und nicht von einer Sprache, die du erfunden hast. –

+5

Pileborg, C/C++ bedeutet entweder C-Parser oder C++ Parser :) – user2329702

+0

Wenn Sie in C programmieren, können Sie keine C++ - Bibliothek verwenden, und wenn Sie in C++ programmieren, sollten Sie * sagen * also nicht Sie können keine Bibliotheken mit einer C-Schnittstelle verwenden, aber es bedeutet, dass Sie Bibliotheken mit einer C++ - only-Schnittstelle verwenden können, die Ihre Möglichkeiten erweitert. Sagen Sie immer nur die Sprache, die Sie tatsächlich verwenden, und markieren Sie die Frage entsprechend. –

Antwort

3

Wir freuen uns, mit RapidJson, die für AssetImporterLib für den GLTF-Importeur in Gebrauch ist.

Sie können einen Leistungstest finden here (100% ist am besten). In Bezug auf diese Beispiele hat RapiJson gewonnen. Niemals die Leistung an dieser Lib speziell messen.

+0

Wie gut ist es in Bezug auf die Leistung? – user2329702

+0

Meine Antwort wurde aktualisiert, indem ein Link zu einem Leistungstest hinzugefügt wurde. – KimKulling

8

Angenommen, Sie sind mit einer C++ - Implementierung des Parsers zufrieden, ich hatte keine Probleme mit ; obwohl es schnelle Bibliotheken hat es für meine Anforderungen schnell genug gewesen und hat die Vorteile, dass:

  • Es ist sehr einfach in Ihr Projekt (Single-Header), ohne übermäßig ausführliche Syntax
  • Eine saubere und einfache API zur Integration
  • Gute Testabdeckung

Die oben verlinkte Github Seite einen guten Überblick hat, so dass es nicht wert ist, ich hier in viel mehr ins Detail gehen.

Für einen Vergleich von Bibliotheken entlang mehrerer Facetten (nicht nur Leistung) konnte man hier sehen: miloyip/nativejson-benchmark

0

Ich empfehle Cereal hoch. Es ist eine portable, einfach zu bedienende Serialisierungsbibliothek für C++, die JSON-, XML-, Nur-Text- und Binär-Formate unterstützt.