Cómo leer y escribir archivos JSON en C++

Como Leer Y Escribir Archivos Json En C



C++ es un lenguaje versátil que tiene un conjunto de bibliotecas para manejar datos JSON. La notación de objetos JavaScript (JSON) es un formato para el intercambio de datos que es fácil de escribir y leer para los humanos y que las máquinas pueden generar y analizar fácilmente. Se utiliza para la transmisión de datos entre aplicaciones web y servidores, y para almacenar datos, así como para la configuración de archivos.

Cómo leer y escribir archivos JSON en C++

JSON es un formato de datos que es una forma preferida de almacenar y transferir datos estructurados en la web. Es liviano, lo que facilita la transferencia de datos y mejora la eficiencia y el procesamiento de la transferencia de datos. En C++ rapidjson es una biblioteca que tiene funciones para analizar y generar JSON. Esta biblioteca no solo permite leer y escribir datos JSON, sino que también permite la manipulación y validación de objetos JSON. También admite funciones para manejar grandes conjuntos de datos de JSON en forma de transmisión.







Para leer y escribir datos JSON usando rapidjson, se usa la clase rapidjson::Document. Esta clase proporciona una API de alto nivel para generar y analizar datos JSON de un archivo y también hace posible la manipulación de datos.



Ejemplo para leer datos de un archivo JSON en C++

Este es un código de ejemplo para leer datos de un archivo JSON en C++ usando la biblioteca rapidjson:



#incluir 'rapidjson/document.h'
#incluir 'rapidjson/stringbuffer.h'
#incluye 'rapidjson/filereadstream.h'
#incluir
#incluir

usando el espacio de nombres rapidjson;
 
ent principal ( )
{
    // Abre el archivo para lectura
ARCHIVO * fp = abierto ( 'ejemplo.json' , 'r' ) ;
 
    // Utilice un FileReadStream para
      // leer los datos de la archivo
char readBuffer [ 65536 ] ;
rapidjson::FileReadStream es ( fp, leerBuffer,
tamaño de ( leerBuffer ) ) ;
 
    // Analizar los datos JSON
      // usando un objeto de documento
rapidjson::Documento d;
d.ParseStream ( es ) ;
 
    // Cierra el archivo
cerrar ( fp ) ;
 
    // Accede a los datos en el documento JSON
std::cout << d [ 'Nombre' ] .GetString ( ) << std::endl;
std::cout << d [ 'Edad' ] .tintado ( ) << std::endl;
 
    devolver 0 ;
}

 
La función fopen() se utiliza para abrir el archivo. El archivo de encabezado <<#include “rapidjson/filereadstream.h”>> lee los datos del archivo en una cadena denominada json. El documento doc se crea para contener los datos del archivo. La cadena se analiza y se verifican sus errores; si se encuentran errores, devuelve un error; de lo contrario, el documento se utiliza para acceder a los datos del JSON.





Ejemplo para escribir datos en un archivo JSON en C++

La biblioteca rapidjson se puede utilizar para escribir datos en archivos JSON creando una clase de documento. Este es un código de ejemplo para escribir datos en el archivo JSON en C++:



#incluir 'rapidjson/document.h'
#incluye 'rapidjson/filereadstream.h'
#incluir 'rapidjson/filewritestream.h'
#incluye 'rapidjson/writer.h'
 
usando el espacio de nombres rapidjson;
 
ent principal ( )
{
    // Leer JSON archivo
ARCHIVO * fp
= abrir ( 'ejemplo.json' , 'rb' ) ;
char readBuffer [ 65536 ] ;
FileReadStream es ( fp, readBuffer, tamaño de ( leerBuffer ) ) ;
Documento d;
d.ParseStream ( es ) ;
cerrar ( fp ) ;
 
   
Valor & s = re [ 'Nombre' ] ;
s.SetString ( 'Simón' , d.GetAllocator ( ) ) ;
 
    // Escribir JSON archivo
ARCHIVO * fp2 = abierto ( 'ejemplo_modificado.json' ,
                      'wb' ) ;
búfer de escritura de caracteres [ 65536 ] ;
Sistema operativo FileWriteStream ( fp2, escribirBuffer,
tamaño de ( escribirBuffer ) ) ;
Escritor < flujo de escritura de archivos > escritor ( ) ;
d.Aceptar ( escritor ) ;
cerrar ( fp2 ) ;
 
    devolver 0 ;
}

 
Este programa utiliza los archivos de encabezado estándar para incluir rapidjson. El objeto Documento contiene los datos del archivo JSON. El nombre y la edad del miembro se agregan al objeto JSON. Se crea y prepara una secuencia de archivo de salida para escribir los datos en el archivo.


El nombre y la edad se escriben en el archivo y se muestran en el terminal de salida.

Conclusión

JSON es un formato de datos que permite reducir el tamaño de los datos para la transferencia y da como resultado una mayor eficiencia y procesamiento de la transferencia de datos. Para leer y escribir datos JSON usando rapidjson, se usa la clase rapidjson::Document. Esta clase proporciona una API de alto nivel para generar y analizar datos JSON de un archivo y también hace posible la manipulación de datos.