Cara Membaca dan Menulis File JSON di C++

Cara Membaca Dan Menulis File Json Di C



C++ adalah bahasa serbaguna yang memiliki sekumpulan perpustakaan untuk menangani data JSON. Notasi Objek JavaScript (JSON) adalah format pertukaran data yang mudah ditulis dan dibaca oleh manusia, serta dapat dibuat dan diurai dengan mudah oleh mesin. Ini digunakan untuk transmisi data antara aplikasi web dan server, dan untuk menyimpan data, serta konfigurasi file.

Cara Membaca dan Menulis File JSON di C++

JSON adalah format data yang merupakan cara pilihan untuk menyimpan dan mentransfer data terstruktur di web. Ringan, yang membuat transfer data menjadi mudah dan menghasilkan peningkatan efisiensi dan pemrosesan transfer data. Di C++ rapidjson adalah perpustakaan yang memiliki fungsi untuk mengurai dan menghasilkan JSON. Pustaka ini tidak hanya memungkinkan seseorang untuk membaca dan menulis data JSON tetapi juga memungkinkan manipulasi dan validasi objek JSON. Ini juga mendukung fungsi untuk menangani kumpulan data JSON yang besar secara streaming.







Untuk membaca dan menulis data JSON menggunakan rapidjson, digunakan kelas rapidjson::Document. Kelas ini menyediakan API tingkat tinggi untuk menghasilkan dan mengurai data JSON dari file dan memungkinkan manipulasi data juga.



Contoh Membaca Data dari File JSON di C++

Ini adalah contoh kode untuk membaca data dari file JSON di C++ menggunakan perpustakaan rapidjson:



#sertakan 'rapidjson/document.h'
#sertakan 'rapidjson/stringbuffer.h'
#sertakan 'rapidjson/filereadstream.h'
#termasuk
#termasuk

menggunakan namespace rapidjson;

ke utama ( )
{
// Buka mengajukan untuk membaca
MENGAJUKAN * fp = fopen ( 'contoh.json' , 'R' ) ;

// Gunakan FileReadStream untuk
// membaca data dari mengajukan
karakter bacaBuffer [ 65536 ] ;
rapidjson::FileReadStream adalah ( fp, bacaBuffer,
ukuran dari ( bacaBuffer ) ) ;

// Parsing data JSON
// menggunakan objek Dokumen
rapidjson::Dokumen d;
d.ParseStream ( adalah ) ;

// Tutup mengajukan
tutup ( fp ) ;

// Akses datanya di dalam dokumen JSON
std::cout << D [ 'Nama' ] .GetString ( ) << std::endl;
std::cout << D [ 'Usia' ] .Berwarna ( ) << std::endl;

kembali 0 ;
}


Fungsi fopen() digunakan untuk membuka file. File header <<#include “rapidjson/filereadstream.h”>> membaca data file dalam string yang diberi nama json. Dokumen dokumen dibuat untuk menyimpan data file. String diuraikan, dan kesalahannya diperiksa, jika ditemukan kesalahan, ia mengembalikan kesalahan jika tidak, Dokumen digunakan untuk mengakses data JSON.





Contoh Menulis Data ke File JSON di C++

Pustaka rapidjson dapat digunakan untuk menulis data dalam file JSON dengan membuat kelas Dokumen. Ini adalah contoh kode untuk menulis data ke file JSON di C++:



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

menggunakan namespace rapidjson;

ke utama ( )
{
// Baca JSON mengajukan
MENGAJUKAN * fp
= membuka ( 'contoh.json' , 'rb' ) ;
karakter bacaBuffer [ 65536 ] ;
FileReadStream adalah ( fp, bacaBuffer, ukuranof ( bacaBuffer ) ) ;
Dokumen d;
d.ParseStream ( adalah ) ;
tutup ( fp ) ;


Nilai & s = d [ 'Nama' ] ;
s.SetString ( 'Simon' , d.Dapatkan Pengalokasi ( ) ) ;

// Tulis JSON mengajukan
MENGAJUKAN * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
karakter tulisBuffer [ 65536 ] ;
FileWriteStream os ( fp2, tulisBuffer,
ukuran dari ( menulisBuffer ) ) ;
Penulis < FileWriteStream > penulis ( Anda ) ;
d.Terima ( penulis ) ;
tutup ( fp2 ) ;

kembali 0 ;
}


Program ini menggunakan file header standar untuk menyertakan rapidjson. Objek Dokumen menyimpan data file JSON. Nama dan umur anggota ditambahkan ke objek JSON. Aliran file keluaran dibuat dan disiapkan untuk menulis data ke file.


Nama dan umur keduanya ditulis dalam file dan ditampilkan di terminal keluaran.

Kesimpulan

JSON adalah format data yang memungkinkan pengurangan ukuran data untuk transfer dan menghasilkan peningkatan efisiensi dan pemrosesan transfer data. Untuk membaca dan menulis data JSON menggunakan rapidjson, digunakan kelas rapidjson::Document. Kelas ini menyediakan API tingkat tinggi untuk menghasilkan dan mengurai data JSON dari file dan memungkinkan manipulasi data juga.