Jak číst a zapisovat soubory JSON v C++

Jak Cist A Zapisovat Soubory Json V C



C++ je všestranný jazyk, který má sadu knihoven pro práci s daty JSON. JavaScript Object Notation (JSON) je formát pro výměnu dat, do kterého se lidé snadno zapisují a čte a stroje mohou snadno generovat a analyzovat. Používá se pro přenos dat mezi webovými aplikacemi a servery, pro ukládání dat a také pro konfiguraci souborů.

Jak číst a zapisovat soubory JSON v C++

JSON je datový formát, který je preferovaným způsobem ukládání a přenosu strukturovaných dat na webu. Je lehký, což usnadňuje přenos dat a má za následek lepší efektivitu a zpracování přenosu dat. V C++ je rapidjson knihovna, která má funkce pro analýzu a generování JSON. Tato knihovna umožňuje nejen číst a zapisovat data JSON, ale také umožňuje manipulaci a ověřování objektů JSON. Podporuje také funkce pro zpracování velkých datových sad JSON způsobem streamování.







Pro čtení a zápis dat JSON pomocí rapidjson se používá třída rapidjson::Document. Tato třída poskytuje rozhraní API na vysoké úrovni pro generování a analýzu dat JSON ze souboru a umožňuje také manipulaci s daty.



Příklad čtení dat ze souboru JSON v C++

Toto je příklad kódu pro čtení dat ze souboru JSON v C++ pomocí knihovny rapidjson:



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

pomocí jmenného prostoru rapidjson;

int main ( )
{
// Otevři soubor pro čtení
SOUBOR * fp = fopen ( 'example.json' , 'r' ) ;

// Použijte FileReadStream k
// číst údaje z soubor
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream je ( fp, readBuffer,
velikost ( readBuffer ) ) ;

// Analyzujte data JSON
// pomocí objektu dokumentu
rapidjson::Dokument d;
d.ParseStream ( je ) ;

// Zavři soubor
fzavřít ( fp ) ;

// Přístup k datům v dokument JSON
std::cout << d [ 'Název' ] .GetString ( ) << std::endl;
std::cout << d [ 'Stáří' ] .Tónované ( ) << std::endl;

vrátit se 0 ;
}


K otevření souboru se používá funkce fopen(). Hlavičkový soubor <<#include “rapidjson/filereadstream.h”>> čte data souboru v řetězci, který je pojmenován jako json. Dokument doc je vytvořen tak, aby obsahoval data souboru. Řetězec je analyzován a jsou zkontrolovány jeho chyby, pokud jsou nalezeny chyby, vrátí chybu, jinak je dokument použit pro přístup k datům JSON.





Příklad zápisu dat do souboru JSON v C++

Knihovnu rapidjson lze použít k zápisu dat do souborů JSON vytvořením třídy Document. Toto je příklad kódu pro zápis dat do souboru JSON v C++:



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

pomocí jmenného prostoru rapidjson;

int main ( )
{
// Přečtěte si JSON soubor
SOUBOR * fp
= fopen ( 'example.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
FileReadStream je ( fp, readBuffer, sizeof ( readBuffer ) ) ;
dokument d;
d.ParseStream ( je ) ;
fzavřít ( fp ) ;


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

// Napište JSON soubor
SOUBOR * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
Operační systém FileWriteStream ( fp2, writeBuffer,
velikost ( writeBuffer ) ) ;
Spisovatel < FileWriteStream > spisovatel ( vy ) ;
d.Přijmout ( spisovatel ) ;
fzavřít ( fp2 ) ;

vrátit se 0 ;
}


Tento program používá standardní hlavičkové soubory k zahrnutí rapidjson. Objekt Document obsahuje data souboru JSON. Do objektu JSON se přidá jméno a věk člena. Vytvoří se proud výstupního souboru a připraví se pro zápis dat do souboru.


Jméno a věk jsou zapsány v souboru a zobrazeny na výstupním terminálu.

Závěr

JSON je datový formát, který umožňuje zmenšit velikost dat pro přenos a vede ke zlepšení efektivity a zpracování přenosu dat. Pro čtení a zápis dat JSON pomocí rapidjson se používá třída rapidjson::Document. Tato třída poskytuje rozhraní API na vysoké úrovni pro generování a analýzu dat JSON ze souboru a umožňuje také manipulaci s daty.