So lesen und schreiben Sie JSON-Dateien in C++

So Lesen Und Schreiben Sie Json Dateien In C



C++ ist eine vielseitige Sprache, die über eine Reihe von Bibliotheken für den Umgang mit JSON-Daten verfügt. JavaScript Object Notation (JSON) ist ein Format für den Datenaustausch, das für Menschen leicht zu schreiben und zu lesen ist und das von Maschinen leicht generiert und analysiert werden kann. Es dient der Datenübertragung zwischen Webanwendungen und Servern sowie der Speicherung von Daten und der Konfiguration von Dateien.

So lesen und schreiben Sie JSON-Dateien in C++

JSON ist ein Datenformat, das eine bevorzugte Methode zum Speichern und Übertragen strukturierter Daten im Web darstellt. Es ist leichtgewichtig, was die Datenübertragung vereinfacht und zu einer verbesserten Effizienz und Verarbeitung der Datenübertragung führt. In C++ ist rapidjson eine Bibliothek mit Funktionen zum Parsen und Generieren des JSON. Diese Bibliothek ermöglicht nicht nur das Lesen und Schreiben der JSON-Daten, sondern auch die Manipulation und Validierung von JSON-Objekten. Es unterstützt auch Funktionen zur Streaming-Verarbeitung großer JSON-Datensätze.







Um die JSON-Daten mit rapidjson zu lesen und zu schreiben, wird die Klasse rapidjson::Document verwendet. Diese Klasse stellt eine High-Level-API zum Generieren und Parsen von JSON-Daten aus einer Datei bereit und ermöglicht auch die Manipulation von Daten.



Beispiel zum Lesen von Daten aus einer JSON-Datei in C++

Dies ist ein Beispielcode zum Lesen von Daten aus einer JSON-Datei in C++ mithilfe der RapidJson-Bibliothek:



#include „rapidjson/document.h“
#include „rapidjson/stringbuffer.h“
#include „rapidjson/filereadstream.h“
#include
#include

Verwenden des Namensraums rapidjson;

int main ( )
{
// Öffne das Datei für Lektüre
DATEI * fp = fopen ( „example.json“ , 'R' ) ;

// Verwenden Sie einen FileReadStream, um
// lesen die Daten aus dem Datei
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream ist ( fp, readBuffer,
Größe von ( readBuffer ) ) ;

// Analysieren Sie die JSON-Daten
// unter Verwendung eines Document-Objekts
rapidjson::Dokument d;
d.ParseStream ( Ist ) ;

// Schließe Datei
fclose ( fp ) ;

// Greifen Sie auf die Daten zu In das JSON-Dokument
std::cout << D [ 'Name' ] .GetString ( ) << std::endl;
std::cout << D [ 'Alter' ] .Getönt ( ) << std::endl;

zurückkehren 0 ;
}


Zum Öffnen der Datei wird die Funktion fopen() verwendet. Die Header-Datei <<#include „rapidjson/filereadstream.h“>> liest die Daten der Datei in einem String, der als json bezeichnet wird. Das Dokumentdokument wird erstellt, um die Daten der Datei zu speichern. Die Zeichenfolge wird analysiert und auf Fehler überprüft. Wenn Fehler gefunden werden, wird ein Fehler zurückgegeben, andernfalls wird das Dokument für den Zugriff auf die Daten des JSON verwendet.





Beispiel zum Schreiben von Daten in eine JSON-Datei in C++

Die RapidJSON-Bibliothek kann zum Schreiben der Daten in JSON-Dateien verwendet werden, indem eine Document-Klasse erstellt wird. Dies ist ein Beispielcode zum Schreiben von Daten in die JSON-Datei in C++:



#include „rapidjson/document.h“
#include „rapidjson/filereadstream.h“
#include „rapidjson/filewritestream.h“
#include „rapidjson/writer.h“

Verwenden des Namensraums rapidjson;

int main ( )
{
// JSON lesen Datei
DATEI * fp
= offen ( „example.json“ , „rb“ ) ;
char readBuffer [ 65536 ] ;
FileReadStream ist ( fp, readBuffer, sizeof ( readBuffer ) ) ;
Dokument d;
d.ParseStream ( Ist ) ;
fclose ( fp ) ;


Wert & s = d [ 'Name' ] ;
s.SetString ( „Simon“ , d.GetAllocator ( ) ) ;

// Schreiben Sie JSON Datei
DATEI * fp2 = fopen ( „example_modified.json“ ,
„wb“ ) ;
char writeBuffer [ 65536 ] ;
FileWriteStream-Betriebssystem ( fp2, writeBuffer,
Größe von ( writeBuffer ) ) ;
Schriftsteller < FileWriteStream > Schriftsteller ( Du ) ;
d.Akzeptieren ( Schriftsteller ) ;
fclose ( fp2 ) ;

zurückkehren 0 ;
}


Dieses Programm verwendet die Standard-Header-Dateien, um RapidJSON einzubinden. Das Document-Objekt enthält die Daten der JSON-Datei. Der Name und das Alter des Mitglieds werden dem JSON-Objekt hinzugefügt. Ein Ausgabedateistream wird erstellt und zum Schreiben der Daten in die Datei vorbereitet.


Name und Alter werden beide in die Datei geschrieben und auf dem Ausgabeterminal angezeigt.

Abschluss

JSON ist ein Datenformat, das eine Reduzierung der Datenmenge für die Übertragung ermöglicht und zu einer verbesserten Effizienz und Verarbeitung der Datenübertragung führt. Um die JSON-Daten mit rapidjson zu lesen und zu schreiben, wird die Klasse rapidjson::Document verwendet. Diese Klasse stellt eine High-Level-API zum Generieren und Parsen von JSON-Daten aus einer Datei bereit und ermöglicht auch die Manipulation von Daten.