JSON-fájlok olvasása és írása C++-ban

Json Fajlok Olvasasa Es Irasa C Ban



A C++ egy sokoldalú nyelv, amely számos könyvtárral rendelkezik a JSON-adatok kezelésére. A JavaScript Object Notation (JSON) egy olyan adatcsere-formátum, amelyet az emberek könnyen írhatnak és olvashatnak, a gépek pedig könnyen generálhatnak és értelmezhetnek. A webalkalmazások és szerverek közötti adatátvitelre, valamint adatok tárolására, valamint fájlok konfigurálására szolgál.

JSON-fájlok olvasása és írása C++-ban

A JSON egy adatformátum, amely a strukturált adatok webes tárolásának és átvitelének előnyben részesített módja. Könnyű, ami megkönnyíti az adatátvitelt, és javítja az adatátvitel hatékonyságát és feldolgozását. A C++ nyelvben a rapidjson egy olyan könyvtár, amely a JSON elemzésére és generálására szolgáló függvényekkel rendelkezik. Ez a könyvtár nemcsak a JSON-adatok olvasását és írását teszi lehetővé, hanem lehetővé teszi a JSON-objektumok manipulálását és érvényesítését is. Támogatja a JSON nagy adatkészleteinek adatfolyamos kezeléséhez szükséges funkciókat is.







A JSON adatok rapidjson használatával történő olvasásához és írásához a rapidjson::Document osztályt használják. Ez az osztály magas szintű API-t biztosít a JSON-adatok fájlból történő előállításához és elemzéséhez, és lehetővé teszi az adatok kezelését is.



Példa adatok olvasására JSON fájlból C++ nyelven

Ez egy példakód egy JSON-fájlból a C++ nyelven a rapidjson könyvtár használatával történő adatok olvasására:



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

a rapidjson névtér használatával;

int fő ( )
{
// Nyissa meg a fájlt számára olvasás
FÁJL * fp = fopen ( 'example.json' , 'r' ) ;

// Használjon FileReadStream-et
// olvas az adatokat a fájlt
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream van ( fp, readBuffer,
mérete ( readBuffer ) ) ;

// Elemezze a JSON-adatokat
// Dokumentum objektum használatával
rapidjson::Dokumentum;
d.ParseStream ( van ) ;

// Csukja be a fájlt
fclose ( fp ) ;

// Hozzáférés az adatokhoz ban ben a JSON dokumentumot
std::cout << d [ 'Név' ] .GetString ( ) << std::endl;
std::cout << d [ 'Kor' ] .Színezett ( ) << std::endl;

Visszatérés 0 ;
}


Az fopen() függvény a fájl megnyitására szolgál. A fejlécfájl <<#include “rapidjson/filereadstream.h”>> beolvassa a fájl adatait egy karakterláncban, amelynek neve json. A dokumentumdokumentum a fájl adatainak tárolására jön létre. A string elemzése megtörténik, és a hibáit ellenőrzi, ha hibát talál, hibát ad vissza, ellenkező esetben a Dokumentum a JSON adataihoz való hozzáférésre szolgál.





Példa adatok írására JSON-fájlba C++ nyelven

A rapidjson könyvtár használható az adatok JSON-fájlokba írásához egy dokumentumosztály létrehozásával. Ez egy példakód az adatok JSON-fájlba írásához C++ nyelven:



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

a rapidjson névtér használatával;

int fő ( )
{
// Olvassa el a JSON-t fájlt
FÁJL * fp
= fopen ( 'example.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
A FileReadStream az ( fp, readBuffer, sizeof ( readBuffer ) ) ;
d dokumentum;
d.ParseStream ( van ) ;
fclose ( fp ) ;


Érték & s = d [ 'Név' ] ;
s.SetString ( 'Simon' , d.GetAllocator ( ) ) ;

// Írj JSON-t fájlt
FÁJL * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
FileWriteStream operációs rendszer ( fp2, writeBuffer,
mérete ( writeBuffer ) ) ;
Író < FileWriteStream > író ( te ) ;
d.Elfogadás ( író ) ;
fclose ( fp2 ) ;

Visszatérés 0 ;
}


Ez a program a szabványos fejlécfájlokat használja a rapidjson felvételéhez. A Dokumentum objektum a JSON-fájl adatait tartalmazza. A tag neve és életkora hozzáadódik a JSON-objektumhoz. Létrejön egy kimeneti fájlfolyam, amely előkészíti az adatok fájlba írásához.


A név és az életkor egyaránt be van írva a fájlba, és megjelenik a kimeneti terminálon.

Következtetés

A JSON egy olyan adatformátum, amely lehetővé teszi az átvitelhez szükséges adatok méretének csökkentését, és javítja az adatátvitel hatékonyságát és feldolgozását. A JSON adatok rapidjson használatával történő olvasásához és írásához a rapidjson::Document osztályt használják. Ez az osztály magas szintű API-t biztosít a JSON-adatok fájlból történő előállításához és elemzéséhez, és lehetővé teszi az adatok kezelését is.