Как читать и записывать файлы JSON на C++

Kak Citat I Zapisyvat Fajly Json Na C



C++ — это универсальный язык, имеющий набор библиотек для работы с данными JSON. Нотация объектов JavaScript (JSON) — это формат обмена данными, который легко писать и читать людям, а машины могут легко генерировать и анализировать. Он используется для передачи данных между веб-приложениями и серверами, а также для хранения данных, а также настройки файлов.

Как читать и записывать файлы JSON на C++

JSON — это формат данных, который является предпочтительным способом хранения и передачи структурированных данных в Интернете. Он легкий, что упрощает передачу данных и приводит к повышению эффективности и обработки передачи данных. В C++ RapidJson — это библиотека, в которой есть функции для анализа и генерации JSON. Эта библиотека не только позволяет читать и записывать данные JSON, но также позволяет манипулировать и проверять объекты JSON. Он также поддерживает функции для потоковой обработки больших наборов данных JSON.







Для чтения и записи данных JSON с помощью Rapidjson используется класс Rapidjson::Document. Этот класс предоставляет API высокого уровня для генерации и анализа данных JSON из файла, а также делает возможным манипулирование данными.



Пример чтения данных из файла JSON на C++

Это пример кода для чтения данных из файла JSON на C++ с использованием библиотеки RapidJSON:



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

использование пространства имен RapidJSON;

int главный ( )
{
// Открой файл для чтение
ФАЙЛ * fp = fopen ( 'пример.json' , 'р' ) ;

// Используйте FileReadStream для
// читать данные из файл
символ readBuffer [ 65536 ] ;
Rapidjson::FileReadStream — это ( фп, читатьбуфер,
размер ( readBuffer ) ) ;

// Анализ данных JSON
// использование объекта документа
Rapidjson::Документ d;
d.ParseStream ( является ) ;

// Закрой файл
fзакрыть ( фп ) ;

// Доступ к данным в документ JSON
станд::cout << д [ 'Имя' ] .GetString ( ) << станд::эндл;
станд::cout << д [ 'Возраст' ] .Тонировка ( ) << станд::эндл;

возвращаться 0 ;
}


Функция fopen() используется для открытия файла. Файл заголовка <<#include «rapidjson/filereadstream.h»>> считывает данные файла в строке с именем json. Документ-документ создается для хранения данных файла. Строка анализируется и проверяются ее ошибки, при обнаружении ошибок возвращает ошибку, в противном случае Документ используется для доступа к данным JSON.





Пример записи данных в файл JSON на C++

Библиотеку RapidJSON можно использовать для записи данных в файлы JSON, создав класс Document. Это пример кода для записи данных в файл JSON на C++:



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

использование пространства имен RapidJSON;

int главный ( )
{
// Чтение JSON файл
ФАЙЛ * фп
= открыт ( 'пример.json' , 'рб' ) ;
символ readBuffer [ 65536 ] ;
FileReadStream — это ( ФП, readBuffer, sizeof ( readBuffer ) ) ;
Документ г;
d.ParseStream ( является ) ;
fзакрыть ( фп ) ;


Ценить & с = д [ 'Имя' ] ;
s.SetString ( 'Саймон' , d.GetAllocator ( ) ) ;

// Напишите JSON файл
ФАЙЛ * fp2 = открыть ( 'example_modified.json' ,
'ВБ' ) ;
char writeBuffer [ 65536 ] ;
FileWriteStream операционная система ( фп2, записьбуфера,
размер ( записьбуфер ) ) ;
Писатель < FileWriteStream > писатель ( ты ) ;
д.Принять ( писатель ) ;
fзакрыть ( ФП2 ) ;

возвращаться 0 ;
}


Эта программа использует стандартные файлы заголовков для включения файла RapidJSON. Объект Document содержит данные файла JSON. Имя и возраст участника добавляются в объект JSON. Поток выходного файла создается и подготавливается для записи данных в файл.


Имя и возраст записываются в файл и отображаются на выходном терминале.

Заключение

JSON — это формат данных, который позволяет уменьшить размер данных для передачи и приводит к повышению эффективности и обработки передачи данных. Для чтения и записи данных JSON с помощью Rapidjson используется класс Rapidjson::Document. Этот класс предоставляет API высокого уровня для генерации и анализа данных JSON из файла, а также делает возможным манипулирование данными.