Cách đọc và ghi tệp JSON trong C++

Cach Doc Va Ghi Tep Json Trong C



C++ là một ngôn ngữ đa năng có một bộ thư viện để xử lý dữ liệu JSON. Ký hiệu đối tượng JavaScript (JSON) là một định dạng để trao đổi dữ liệu mà con người dễ dàng viết và đọc và máy móc có thể dễ dàng tạo và phân tích cú pháp. Nó được sử dụng để truyền dữ liệu giữa các ứng dụng web và máy chủ cũng như để lưu trữ dữ liệu cũng như cấu hình các tệp.

Cách đọc và ghi tệp JSON trong C++

JSON là định dạng dữ liệu là cách ưa thích để lưu trữ và truyền dữ liệu có cấu trúc trên web. Nó rất nhẹ, giúp việc truyền dữ liệu trở nên dễ dàng và mang lại hiệu quả và xử lý truyền dữ liệu được cải thiện. Trong C++ rapidjson là một thư viện có chức năng phân tích cú pháp và tạo JSON. Thư viện này không chỉ cho phép đọc và ghi dữ liệu JSON mà còn cho phép thao tác và xác thực các đối tượng của JSON. Nó cũng hỗ trợ các chức năng xử lý các tập dữ liệu JSON lớn theo kiểu phát trực tuyến.







Để đọc và ghi dữ liệu JSON bằng rapidjson, lớp rapidjson::Document được sử dụng. Lớp này cung cấp API cấp cao để tạo và phân tích dữ liệu JSON từ một tệp và cũng có thể thực hiện thao tác dữ liệu.



Ví dụ đọc dữ liệu từ tệp JSON trong C++

Đây là mã ví dụ để đọc dữ liệu từ tệp JSON trong C++ bằng thư viện rapidjson:



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

sử dụng không gian tên rapidjson;

int chính ( )
{
// Mở tài liệu đọc
TÀI LIỆU * fp = fopen ( 'example.json' , 'r' ) ;

// Sử dụng FileReadStream để
// đọc dữ liệu từ tài liệu
char đọcBộ đệm [ 65536 ] ;
rapidjson::FileReadStream là ( fp, bộ đệm đọc,
kích thước của ( bộ đệm đọc ) ) ;

// Phân tích dữ liệu JSON
// sử dụng đối tượng Tài liệu
rapidjson::Tài liệu d;
d.ParseStream ( ) ;

// Đóng tài liệu
đóng cửa ( fp ) ;

// Truy cập dữ liệu TRONG tài liệu JSON
std::cout << d [ 'Tên' ] .GetString ( ) << std::endl;
std::cout << d [ 'Tuổi' ] .Có màu ( ) << std::endl;

trở lại 0 ;
}


Hàm fopen() được sử dụng để mở tệp. Tệp tiêu đề <<#include “rapidjson/filereadstream.h”>> đọc dữ liệu của tệp dưới dạng chuỗi được đặt tên là json. Tài liệu tài liệu được tạo để chứa dữ liệu của tệp. Chuỗi được phân tích cú pháp và các lỗi của nó được kiểm tra, nếu tìm thấy lỗi, nó sẽ trả về lỗi nếu không thì Tài liệu được sử dụng để truy cập dữ liệu của JSON.





Ví dụ ghi dữ liệu vào tệp JSON trong C++

Thư viện rapidjson có thể được sử dụng để ghi dữ liệu vào tệp JSON bằng cách tạo lớp Tài liệu. Đây là mã ví dụ để ghi dữ liệu vào tệp JSON trong C++:



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

sử dụng không gian tên rapidjson;

int chính ( )
{
// Đọc JSON tài liệu
TÀI LIỆU * fp
        = fopen ( 'example.json' , 'rb' ) ;
char đọcBộ đệm [ 65536 ] ;
FileReadStream là ( fp, readBuffer, sizeof ( bộ đệm đọc ) ) ;
Văn bản d;
d.ParseStream ( ) ;
đóng cửa ( fp ) ;


Giá trị & s = d [ 'Tên' ] ;
s.SetString ( 'Simon' , d.GetAllocator ( ) ) ;

// Viết JSON tài liệu
TÀI LIỆU * fp2 = fopen ( 'example_modified.json' ,
'wb' ) ;
char writeBuffer [ 65536 ] ;
Hệ điều hành FileWriteStream ( fp2, writeBuffer,
kích thước của ( bộ đệm ghi ) ) ;
nhà văn < Luồng ghi tệp > nhà văn ( Bạn ) ;
d.Chấp nhận ( nhà văn ) ;
đóng cửa ( fp2 ) ;

trở lại 0 ;
}


Chương trình này sử dụng các tệp tiêu đề tiêu chuẩn để bao gồm rapidjson. Đối tượng Document chứa dữ liệu của tệp JSON. Tên và tuổi của thành viên được thêm vào đối tượng JSON. Luồng tệp đầu ra được tạo và chuẩn bị để ghi dữ liệu vào tệp.


Tên và tuổi đều được ghi vào tệp và hiển thị trên thiết bị đầu cuối đầu ra.

Phần kết luận

JSON là một định dạng dữ liệu giúp giảm kích thước dữ liệu khi truyền và giúp cải thiện hiệu quả và xử lý truyền dữ liệu. Để đọc và ghi dữ liệu JSON bằng rapidjson, lớp rapidjson::Document được sử dụng. Lớp này cung cấp API cấp cao để tạo và phân tích dữ liệu JSON từ một tệp và cũng có thể thực hiện thao tác dữ liệu.