Wie man JSON in C ++ analysiert

Wie man JSON in C ++ analysiert
Die Absicht dieses Tutorials ist es, die JSON -Daten zu verstehen und wie man JSON -Daten in C analysiert++. Wir werden JSON -Daten, Objekt, Array, JSON -Syntax diskutieren und dann mehrere Arbeitsbeispiele durchlaufen, um den Parsing -Mechanismus von JSON -Daten in C zu verstehen++.

Was ist JSON?

JSON ist eine leichte textbasierte Darstellung zum Speichern und Übertragen strukturierter Daten auf organisierte Weise. Die JSON-Daten werden in Form von geordneten Listen und Schlüsselwertpaaren dargestellt. JSON steht für JAvaSCript ÖBiege NOtation. Wie der vollständige Name anzeigt, wird es von JavaScript abgeleitet. JSON -Daten werden jedoch in den meisten beliebten Programmiersprachen unterstützt.

Es wird häufig verwendet, um die Daten vom Server auf eine Webseite zu übertragen. Es ist viel einfacher und sauberer, die strukturierten Daten in JSON als XML darzustellen.

JSON -Syntaxregel

Hier sind die JSON -Syntaxregeln:

  1. JSON-Daten sollten immer in Form von Schlüsselwertpaaren erfolgen.
  2. JSON -Daten werden durch Kommas getrennt.
  3. Eine lockige Klammer wird verwendet, um JSON -Objekt darzustellen.
  4. Eine quadratische Klammer wird verwendet, um ein JSON -Array darzustellen.

Was sind JSON -Daten?

Die JSON-Daten werden in Form von Schlüsselwertpaaren dargestellt. Dies ähnelt einem Wörterbuch oder einem Hash in anderen Programmiersprachen.

"Name": "Drake"

Dies ist ein Beispiel für einfache JSON -Daten. Der Schlüssel hier ist "Name" und "Drake" ist der entsprechende Wert. Der Schlüssel, ich.e., "Name" und der Wert, ich.e., "Drake" werden durch einen Dickdarm getrennt.

JSON -Dateierweiterung

Die JSON -Daten werden normalerweise in der Datei mit der Erweiterung von "gespeichert" gespeichert.json ”. Um beispielsweise die Daten des Mitarbeiters zu speichern, können Sie die Datei einfach als Mitarbeiter benennen.json '. Dies wäre eine einfache Textdatei. Sie können diese JSON -Datei dann in einem Ihrer bevorzugten Textredakteure öffnen.

JSON -Objekt

Das JSON -Objekt ist nichts anderes als die JSON -Daten, die in den lockigen Klammern eingeschlossen sind. Hier ist ein Beispiel -JSON -Objekt:


"Name": "Drake",
"Mitarbeiter -ID": "23547a",
"Telefon": "23547",
"Abteilung": "Finanzen"

Ein JSON -Objekt kann mehrere JSON -Daten enthalten. Jedes JSON -Daten wird durch ein Komma getrennt. JSON-Daten werden als Schlüsselwertpaare dargestellt. Der Schlüssel, ich.e., "Name" und der Wert, ich.e., "Drake" werden durch einen Dickdarm getrennt. Im obigen Beispiel gibt es vier Schlüsselwertpaare. Der erste Schlüssel ist "Name"; "Drake" ist der entsprechende Wert dafür. In ähnlicher Weise sind „Mitarbeiter“, „Telefon“ und „Abteilung“ die anderen drei Schlüssel.

JSON -Array

Ein JSON-Array kann mehrere von Kommas getrennte JSON-Objekte enthalten. Das JSON -Array ist in einer quadratischen Klammer eingeschlossen. Schauen wir uns ein Beispiel für ein JSON -Array an:

"Studenten":[
"FirstName": "Sean", "Lastname": "Brown",
"FirstName": "Drake", "Lastname": "Williams",
"FirstName": "Tom", "LastName": "Miller",
"FirstName": "Peter", "LastName": "Johnson"
]

Dies ist ein Beispiel für ein JSON -Array. Hier sind „Schüler“ mit einer quadratischen Klammer umschlossen, ich.e., Array, und es enthält vier JSON -Objekte. Jedes dieser Objekte wird in Form von Schlüsselwertpaaren dargestellt und durch ein Komma getrennt.

Eine Beispiel -JSON -Datei

Jetzt, da wir JSON -Daten verstanden haben, schauen wir uns ein Beispiel einer JSON -Datei an:


"FirstName": "Sean",
"Lastname": "Brown",
"Student ID": 21453,
"Abteilung": "Computer SC.”,
"Probanden": ["Mathematik", "Phy", "Chem"]

Analyse von Bibliotheken in C ++:

Es gibt keine native Lösung für das Parsen von JSON -Daten in C++. Es gibt jedoch mehrere Bibliotheken, die JSON -Daten in C analysieren können++. In diesem Artikel werden wir uns mit den beiden beliebtesten Bibliotheken befassen, um JSON -Daten in C zu analysieren++. Hier sind die GitHub -Links zum Parsen von JSON -Daten:

  1. https: // github.com/nlohmann/json
  2. https: // github.com/tencent/rapidjson/

Möglicherweise möchten Sie diese Bibliotheken herunterladen, um die unten gezeigten Beispiele auszuführen.

Beispiele

Jetzt haben wir ein grundlegendes Verständnis von JSON -Daten, Objekten, Arrays und verfügbaren Parsing -Bibliotheken. Schauen wir uns nun einige Beispiele an, um JSON -Daten in C ++ zu analysieren:

  • Beispiel 1: analysieren json in c++
  • Beispiel-2: analysieren und serialisieren JSON in C++
  • Beispiel-3: JSON in C analysieren++

Zum Beispiel 1 und Beispiel-2 werden wir die "Nlohmann" -Bibliothek verwenden. Im Fall von Beispiel-3 verwenden wir die "Rapidjson" -Bibliothek.

Beispiel 1: analysieren json in c++

In diesem Beispielprogramm werden wir demonstrieren, wie man auf Werte von JSON -Daten in C zugreift++.

#enthalten
#include "JSON.HPP "
mit json = nlohmann :: json;
int main ()

// jdaMles
JSON JDEMPLET =
"FirstName", "Sean",
"LastName", "Brown",
"Studentid", 21453,
"Abteilung", "Computer SC.";
// Zugriff auf die Werte zugreifen
STD :: String fname = jdEmPl.Wert ("FirstName", "oops");
std :: string lname = jdEmPl.Wert ("LastName", "oops");
int sid = jdaMeeses.Wert ("studentid", 0);
STD :: String Dept = JDEMPLE.Wert ("Abteilung", "oops");
// die Werte drucken
std :: Cout << "First Name: " << fName << std::endl;
std :: Cout << "Last Name: " << lName << std::endl;
std :: Cout << "Student ID: " << sID << std::endl;
std :: Cout << "Department: " << dept << std::endl;
Rückkehr 0;

Beispiel-2: analysieren und serialisieren JSON in C++

In diesem Beispielprogramm werden wir sehen, wie JSON in C analysiert und serialisiert werden kann++. Wir verwenden „JSON :: PARSE ()“, um die JSON -Daten zu analysieren.

#enthalten
#include "JSON.HPP "
#enthalten
mit json = nlohmann :: json;
int main ()

// Hier ist ein JSON -Text
char text [] = r "(

"Buch":
"Breite": 450,
"Höhe": 30,
"Titel": "Hallo Welt",
"Isbiographie": Falsch,
"Numofcopies": 4,
"LibraryIds": [2319, 1406, 3854, 987]


) ";
// Lass uns JSON analysieren und serialisieren
JSON J_COMPLETE = JSON :: PARSE (Text);
std :: Cout << std::setw(4) << j_complete << std::endl;

Beispiel-3: JSON in C analysieren++

Jetzt werden wir demonstrieren, wie man die JSON -String mit der Rapidjson -Bibliothek analysiert. Rapidjson wurde ursprünglich vom RapidXML inspiriert. In diesem Beispielprogramm analysieren wir eine JSON -String in DOM. Wir haben "mydoc" vom Typ "Dokument" und dann mit dem "MyDoc" deklariert.Parse () ”Methode, um die JSON -Zeichenfolge zu analysieren.

#enthalten
#include "Rapidjson/Schriftsteller.H"
#include "Rapidjson/Dokument.H"
#include "Rapidjson/StringBuffer.H"
Verwenden von Namespace Rapidjson;
int main ()

const char* json = "" FirstName ":" Sean "," LastName ":" Brown "," Empid ": 21453,
"Abteilung": "Computer SC."";
// die JSON -String in DOM analysieren
Dokumentieren Sie mydoc;
mydoc.Analysieren (JSON);
// Dom zu String
StringBuffer Puffer;
Schriftsteller Schriftsteller (Puffer);
mydoc.Akzeptieren (Schriftsteller);
// die Ausgabe drucken
std :: Cout << buffer.GetString() << std::endl;
Rückkehr 0;

Abschluss

In diesem Artikel haben wir kurz JSON -Daten, Objekt, Array und Syntax besprochen. Wie wir wissen, gibt es keine native Lösung für die Analyse von JSON -Daten in C ++. Wir haben zwei verschiedene Bibliotheken verwendet, um JSON -Daten in C zu analysieren++. Wir haben drei verschiedene Beispiele angesehen, um den JSON -Daten -Parsing -Mechanismus in C zu demonstrieren++. Im Vergleich zur „Nlohmann“ -Bibliothek ist der Rapidjson klein, schnell und speicherfreundlich.