Ako čítať a zapisovať súbory JSON v C++

Ako Citat A Zapisovat Subory Json V C



C++ je všestranný jazyk, ktorý má sadu knižníc na prácu s údajmi JSON. JavaScript Object Notation (JSON) je formát na výmenu údajov, ktorý ľudia ľahko zapisujú a čítajú a stroje ho môžu ľahko generovať a analyzovať. Používa sa na prenos údajov medzi webovými aplikáciami a servermi a na ukladanie údajov, ako aj na konfiguráciu súborov.

Ako čítať a zapisovať súbory JSON v C++

JSON je dátový formát, ktorý je preferovaným spôsobom ukladania a prenosu štruktúrovaných dát na webe. Je ľahký, čo uľahčuje prenos údajov a vedie k vyššej efektivite a spracovaniu prenosu údajov. V C++ je rapidjson knižnica, ktorá má funkcie na analýzu a generovanie JSON. Táto knižnica umožňuje nielen čítať a zapisovať údaje JSON, ale umožňuje aj manipuláciu a overovanie objektov JSON. Podporuje tiež funkcie na spracovanie veľkých množín údajov JSON spôsobom streamovania.







Na čítanie a zápis údajov JSON pomocou rapidjson sa používa trieda rapidjson::Document. Táto trieda poskytuje rozhranie API na vysokej úrovni na generovanie a analýzu údajov JSON zo súboru a umožňuje aj manipuláciu s údajmi.



Príklad na čítanie údajov zo súboru JSON v C++

Toto je príklad kódu na čítanie údajov zo súboru JSON v C++ pomocou knižnice rapidjson:



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

pomocou menného priestoru rapidjson;

int main ( )
{
// Otvor súbor pre čítanie
FILE * fp = fopen ( 'example.json' , 'r' ) ;

// Použite FileReadStream na
// čítať údaje z súbor
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream je ( fp, readBuffer,
veľkosť ( readBuffer ) ) ;

// Analyzujte údaje JSON
// pomocou objektu dokumentu
rapidjson::Dokument d;
d.ParseStream ( je ) ;

// Zavrieť súbor
fclose ( fp ) ;

// Prístup k údajom v dokument JSON
std::cout << d [ 'Názov' ] .GetString ( ) << std::endl;
std::cout << d [ 'Vek' ] .Tónované ( ) << std::endl;

vrátiť 0 ;
}


Na otvorenie súboru sa používa funkcia fopen(). Hlavičkový súbor <<#include “rapidjson/filereadstream.h”>> číta údaje súboru v reťazci s názvom json. Dokument doc je vytvorený na uchovávanie údajov súboru. Reťazec sa analyzuje a skontrolujú sa jeho chyby, ak sa nájdu chyby, vráti chybu, inak sa na prístup k údajom JSON použije Dokument.





Príklad zápisu údajov do súboru JSON v C++

Knižnica rapidjson sa dá použiť na zapisovanie údajov do súborov JSON vytvorením triedy Document. Toto je príklad kódu na zápis údajov do súboru JSON v C++:



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

pomocou menného priestoru rapidjson;

int main ( )
{
// Prečítajte si JSON súbor
FILE * fp
= fopen ( 'example.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
FileReadStream je ( fp, readBuffer, sizeof ( readBuffer ) ) ;
dokument d;
d.ParseStream ( je ) ;
fclose ( fp ) ;


Hodnota & s = d [ 'Názov' ] ;
s.SetString ( 'Simon' , d.GetAllocator ( ) ) ;

// Napíšte JSON súbor
FILE * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char zápisBuffer [ 65536 ] ;
FileWriteStream os ( fp2, writeBuffer,
veľkosť ( writeBuffer ) ) ;
Spisovateľ < FileWriteStream > spisovateľ ( vy ) ;
d.Prijať ( spisovateľ ) ;
fclose ( fp2 ) ;

vrátiť 0 ;
}


Tento program používa štandardné hlavičkové súbory na zahrnutie rapidjson. Objekt Document obsahuje údaje súboru JSON. Do objektu JSON sa pridá meno a vek člena. Vytvorí sa prúd výstupného súboru a pripraví sa na zápis údajov do súboru.


Meno a vek sú zapísané v súbore a zobrazené na výstupnom termináli.

Záver

JSON je dátový formát, ktorý umožňuje zmenšiť veľkosť dát na prenos a výsledkom je lepšia efektivita a spracovanie dátového prenosu. Na čítanie a zápis údajov JSON pomocou rapidjson sa používa trieda rapidjson::Document. Táto trieda poskytuje rozhranie API na vysokej úrovni na generovanie a analýzu údajov JSON zo súboru a umožňuje aj manipuláciu s údajmi.