Kako brati in pisati datoteke JSON v C++

Kako Brati In Pisati Datoteke Json V C



C++ je vsestranski jezik, ki ima nabor knjižnic za obdelavo podatkov JSON. JavaScript Object Notation (JSON) je format za izmenjavo podatkov, ki ga ljudje enostavno pišejo in berejo, stroji pa ga zlahka ustvarijo in razčlenijo. Uporablja se za prenos podatkov med spletnimi aplikacijami in strežniki ter za shranjevanje podatkov in konfiguracijo datotek.

Kako brati in pisati datoteke JSON v C++

JSON je format podatkov, ki je najprimernejši način shranjevanja in prenosa strukturiranih podatkov v spletu. Je lahek, kar olajša prenos podatkov in izboljša učinkovitost in obdelavo prenosa podatkov. V C++ je rapidjson knjižnica, ki ima funkcije za razčlenjevanje in ustvarjanje JSON. Ta knjižnica ne omogoča samo branja in zapisovanja podatkov JSON, temveč omogoča tudi manipulacijo in preverjanje objektov JSON. Podpira tudi funkcije za obdelavo velikih naborov podatkov JSON na pretočni način.







Za branje in pisanje podatkov JSON z uporabo rapidjson se uporablja razred rapidjson::Document. Ta razred zagotavlja API na visoki ravni za generiranje in razčlenjevanje podatkov JSON iz datoteke ter omogoča tudi manipulacijo s podatki.



Primer branja podatkov iz datoteke JSON v C++

To je primer kode za branje podatkov iz datoteke JSON v C++ s knjižnico rapidjson:



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

uporaba imenskega prostora rapidjson;

int main ( )
{
// Odprite mapa za branje
MAPA * fp = fopen ( 'example.json' , 'r' ) ;

// Uporabite FileReadStream za
// prebrati podatki iz mapa
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream je ( fp, readBuffer,
sizeof ( readBuffer ) ) ;

// Razčlenite podatke JSON
// z uporabo objekta dokumenta
rapidjson::Dokument d;
d.ParseStream ( je ) ;

// Zaprite mapa
fclose ( fp ) ;

// Dostop do podatkov v dokument JSON
std::cout << d [ 'Ime' ] .GetString ( ) << std::endl;
std::cout << d [ 'starost' ] .Tonirano ( ) << std::endl;

vrnitev 0 ;
}


Za odpiranje datoteke se uporablja funkcija fopen(). Datoteka glave <<#include “rapidjson/filereadstream.h”>> prebere podatke datoteke v nizu, ki je poimenovan kot json. Dokument doc je ustvarjen za shranjevanje podatkov datoteke. Niz je razčlenjen in njegove napake so preverjene; ​​če so najdene napake, vrne napako, sicer se dokument uporablja za dostop do podatkov JSON.





Primer zapisovanja podatkov v datoteko JSON v C++

Knjižnico rapidjson lahko uporabite za zapisovanje podatkov v datoteke JSON z ustvarjanjem razreda dokumenta. To je primer kode za zapisovanje podatkov v datoteko JSON v C++:



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

uporaba imenskega prostora rapidjson;

int main ( )
{
// Preberi JSON mapa
MAPA * fp
= fopen ( 'example.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
FileReadStream je ( fp, readBuffer, sizeof ( readBuffer ) ) ;
Dokument d;
d.ParseStream ( je ) ;
fclose ( fp ) ;


Vrednost & s = d [ 'Ime' ] ;
s.SetString ( 'Simon' , d.GetAllocator ( ) ) ;

// Napišite JSON mapa
MAPA * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
FileWriteStream os ( fp2, writeBuffer,
sizeof ( writeBuffer ) ) ;
Pisatelj < FileWriteStream > pisatelj ( ti ) ;
d. Sprejmi ( pisatelj ) ;
fclose ( fp2 ) ;

vrnitev 0 ;
}


Ta program uporablja standardne datoteke glave, da vključi rapidjson. Objekt Document vsebuje podatke datoteke JSON. Ime in starost člana sta dodana objektu JSON. Tok izhodne datoteke je ustvarjen in pripravljen za zapisovanje podatkov v datoteko.


Ime in starost sta zapisana v datoteko in prikazana na izhodnem terminalu.

Zaključek

JSON je podatkovni format, ki omogoča zmanjšanje velikosti podatkov za prenos in ima za posledico izboljšano učinkovitost in obdelavo prenosa podatkov. Za branje in pisanje podatkov JSON z uporabo rapidjson se uporablja razred rapidjson::Document. Ta razred zagotavlja API na visoki ravni za generiranje in razčlenjevanje podatkov JSON iz datoteke ter omogoča tudi manipulacijo s podatki.