Comment lire et écrire des fichiers JSON en C++

Comment Lire Et Ecrire Des Fichiers Json En C



C++ est un langage polyvalent doté d'un ensemble de bibliothèques pour gérer les données JSON. JavaScript Object Notation (JSON) est un format d'échange de données facile à écrire et à lire par les humains et que les machines peuvent facilement générer et analyser. Il est utilisé pour la transmission de données entre les applications Web et les serveurs, ainsi que pour le stockage des données, ainsi que pour la configuration des fichiers.

Comment lire et écrire des fichiers JSON en C++

JSON est un format de données qui constitue un moyen privilégié pour stocker et transférer des données structurées sur le Web. Il est léger, ce qui facilite le transfert de données et améliore l'efficacité et le traitement du transfert de données. En C++, rapidjson est une bibliothèque qui possède des fonctions pour analyser et générer le JSON. Cette bibliothèque permet non seulement de lire et d'écrire les données JSON mais permet également la manipulation et la validation d'objets JSON. Il prend également en charge des fonctions permettant de gérer de grands ensembles de données JSON en streaming.







Pour lire et écrire les données JSON à l'aide de rapidjson, la classe rapidjson::Document est utilisée. Cette classe fournit une API de haut niveau pour générer et analyser des données JSON à partir d'un fichier et rend également possible la manipulation des données.



Exemple de lecture de données à partir d'un fichier JSON en C++

Ceci est un exemple de code pour lire les données d'un fichier JSON en C++ à l'aide de la bibliothèque rapidjson :



#include 'rapidjson/document.h'
#include 'rapidjson/stringbuffer.h'
#include 'rapidjson/filereadstream.h'
#include
#include

en utilisant l'espace de noms rapidjson ;

int main ( )
{
// Ouvrez le déposer pour en lisant
DÉPOSER * fp = fouvert ( 'exemple.json' , 'r' ) ;

// Utilisez un FileReadStream pour
// lire les données du déposer
char readBuffer [ 65536 ] ;
rapidjson :: FileReadStream est ( fp, readBuffer,
taille de ( readBuffer ) ) ;

// Analyser les données JSON
// en utilisant un objet Document
    rapidjson::Document d;
d.ParseStream ( est ) ;

// Fermer la déposer
ffermer ( fp ) ;

// Accéder aux données dans le document JSON
std :: cout << d [ 'Nom' ] .ObtenirChaîne ( ) << std::endl;
std :: cout << d [ 'Âge' ] .Teinté ( ) << std::endl;

retour 0 ;
}


La fonction fopen() est utilisée pour ouvrir le fichier. Le fichier d'en-tête <<#include « rapidjson/filereadstream.h »>> lit les données du fichier dans une chaîne nommée json. Le document doc est créé pour contenir les données du fichier. La chaîne est analysée, et ses erreurs sont vérifiées, si des erreurs sont trouvées elle renvoie une erreur sinon le Document est utilisé pour accéder aux données du JSON.





Exemple pour écrire des données dans un fichier JSON en C++

La bibliothèque rapidjson peut être utilisée pour écrire les données dans des fichiers JSON en créant une classe Document. Voici un exemple de code pour écrire des données dans le fichier JSON en C++ :



#include 'rapidjson/document.h'
#include 'rapidjson/filereadstream.h'
#include 'rapidjson/filewritestream.h'
#include 'rapidjson/writer.h'

en utilisant l'espace de noms rapidjson ;

int main ( )
{
// Lire JSON déposer
DÉPOSER * fp
= fouvert ( 'exemple.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
FichierLireStream est ( fp, readBuffer, taille de ( readBuffer ) ) ;
Document D ;
d.ParseStream ( est ) ;
ffermer ( fp ) ;


Valeur & s = ré [ 'Nom' ] ;
s.SetString ( 'Simon' , d.GetAllocator ( ) ) ;

// Écrire du JSON déposer
DÉPOSER * fp2 = fouvert ( 'exemple_modifié.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
Système d'exploitation FileWriteStream ( fp2, écrireBuffer,
taille de ( écrireBuffer ) ) ;
Écrivain < FichierÉcritStream > écrivain ( toi ) ;
d. Accepter ( écrivain ) ;
ffermer ( fp2 ) ;

retour 0 ;
}


Ce programme utilise les fichiers d'en-tête standard pour inclure le rapidjson. L'objet Document contient les données du fichier JSON. Le nom et l'âge du membre sont ajoutés à l'objet JSON. Un flux de fichier de sortie est créé et préparé pour écrire les données dans le fichier.


Le nom et l’âge sont tous deux écrits dans le fichier et affichés sur le terminal de sortie.

Conclusion

JSON est un format de données qui permet de réduire la taille des données à transférer et entraîne une amélioration de l'efficacité et du traitement du transfert de données. Pour lire et écrire les données JSON à l'aide de rapidjson, la classe rapidjson::Document est utilisée. Cette classe fournit une API de haut niveau pour générer et analyser des données JSON à partir d'un fichier et rend également possible la manipulation des données.