Leer archivo JSON en C++

Atika Islam 15 febrero 2024
  1. Archivo JSON
  2. Leer datos del archivo JSON
Leer archivo JSON en C++

Este tutorial explicará el concepto de crear un archivo JSON y luego leer los datos de ese archivo en el compilador. Usaremos el lenguaje C++ y la librería jsoncpp.

Este artículo utiliza el sistema operativo Linux para realizar dicha tarea. Sin embargo, también se puede hacer en el sistema operativo Windows en el compilador C++.

Tenemos que instalar las bibliotecas necesarias para leer archivos JSON. Veremos cómo instalar Linux en máquinas virtuales y luego instalar las bibliotecas esenciales para ejecutar nuestro programa.

Debemos incluir las siguientes bibliotecas en el fragmento de código para leer archivos JSON.

#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>  //This library is used for interacting with JSON file

#include <fstream>  // This library is used for reading and writing data to the files
#include <iostream>  // This library defines standard input/ output objects
#include <string>    // This library is used to store text

Archivo JSON

JSON significa Notación de objetos de JavaScript. JSON se utiliza para almacenar e intercambiar datos.

No está relacionado con JavaScript. JSON es un formato de datos utilizado entre el cliente y la computadora del servidor para enviar y recibir datos.

Tenemos diferentes objetos en JSON. Los pares de claves y sus valores se encierran entre llaves.

JSON es un formato de datos ligero. JSON no admite comentarios y espacios de nombres.

El formato de JSON se encuentra a continuación.

var person={"firstname":"Ali","Lastname":"Ahmad"};

Se permiten seis tipos de datos en JSON.

  1. Cuerda
  2. Número
  3. booleano
  4. matriz
  5. Objeto
  6. Nulo
{
 "name": "ali",
 "age" : 30,
 "married": false,
 "kids" : ,
 "hobbies": ["music","sports"],
 "vehicle":{
 {"type": "car", "vname": "swift"},
 {"type": "bike", "vname": "honda"}
}
};

El primero es String, el segundo es Number, el tercero es Boolean, el cuarto es Null, el quinto es Array, y el sexto es un Object. Este es el formato legible por humanos.

Leer datos del archivo JSON

Primero, debemos descargar e instalar Ubuntu en tu Windows siguiendo estos pasos. Pasos para instalar Ubuntu en tu máquina por Virtual Box.

Después de instalar Ubuntu, obtendremos esta pantalla.

página principal de ubuntu

Tenemos que buscar en el terminal haciendo clic en el icono que tiene nueve puntos. Luego aparecerá una barra de búsqueda, y debemos escribir terminal en esa pantalla.

pantalla terminal

Luego, después de obtener este terminal, primero debemos instalar el compilador escribiendo el siguiente comando.

sudo apt install gcc

Luego de esto, debe ingresar la contraseña de inicio de sesión y dar Y para que sí instale los paquetes.

Luego de esta instalación, debemos instalar una librería para JSON en dev.

sudo apt install libjson-cpp-dev

Después de instalar esta biblioteca de JSON, tenemos que abrir el Editor de texto y escribir el siguiente código en el archivo JSON.

{
	"Name":"Alice",
	"Dob" : "17th october 2022",
	"College" : "Kips"
}

archivo JSON

El siguiente fragmento de código explicará cómo leer archivos JSON en C++.

#include <jsoncpp/json/json.h>
#include <jsoncpp/json/value.h>

#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main() {
  // Using fstream to get the file pointer in file
  ifstream file("file.json");
  Json::Value actualJson;
  Json::Reader reader;

  // Using the reader, we are parsing the json file
  reader.parse(file, actualJson);

  // The actual json has the json data
  cout << "Total json data:\n" << actualJson << endl;

  // accessing individual parameters from the file
  cout << "Name:" << actualJson["Name"] << endl;
  cout << "Dob:" << actualJson["Dob"] << endl;
  cout << "College:" << actualJson["College"] << endl;

  return 0;
}

Primero, este código incluye las bibliotecas de funciones de entrada/salida, lectura de datos de archivos y lectura de caracteres. Entonces JSON.h es el encabezado que necesitará para acceder a todas las funciones.

Luego usamos fstream para obtener el puntero del archivo en el archivo. Después de abrir el archivo JSON, usamos la función Lector para analizar el archivo para leer el contenido del archivo.

Luego, todos los datos en el archivo JSON se muestran en la pantalla usando la función de salida en C++. Luego accedimos al valor del parámetro individual del archivo JSON y lo mostramos en la pantalla.

El código anterior se usa para leer datos del archivo JSON. Después de escribir el código anterior, debemos compilarlo y ejecutarlo usando el comando.

g++ test.cpp -ljsoncpp
./a.out

Producción:

Leer datos del archivo JSON