Repolode
nlohmann

nlohmann/json

Una biblioteca header-only para C++11 que permite analizar, crear, manipular y serializar JSON con una sintaxis similar a la de STL.

Estrellas
50,790
Forks
7,511
Issues abiertos
19
Último commit
hace 4 horas

¿Qué es?

JSON for Modern C++ es una biblioteca de C++ para trabajar con valores JSON como si fueran tipos de datos nativos. Cada valor JSON se representa mediante una sola clase, basic_json (con el alias nlohmann::json), que puede construirse a partir de literales, contenedores de STL o tipos definidos por el usuario, y consultarse con operadores y métodos de contenedor conocidos.

La biblioteca completa se distribuye en un único archivo de cabecera, por lo que puede añadirse a un proyecto sin un paso de compilación independiente ni dependencias. Admite JSON Pointer (RFC 6901), JSON Patch (RFC 6902) y JSON Merge Patch (RFC 7396), incluida la generación de diferencias, y permite convertir datos desde y hacia varios formatos binarios, como BSON, CBOR, MessagePack, UBJSON, BJData y BON8.

Los tipos definidos por el usuario pueden vincularse a JSON mediante las funciones to_json y from_json o macros auxiliares que las generan. El proyecto publica documentación y una referencia de la API, y ofrece información sobre la integración con CMake y gestores de paquetes habituales.

Funciones clave

  • 01Integración mediante un único archivo de cabecera, sin dependencias y escrita en C++11.
  • 02Sintaxis intuitiva, similar a la de STL, para acceder a valores JSON y asignarlos.
  • 03Análisis de cadenas, streams y rangos de iteradores, además de serialización con sangría.
  • 04Compatibilidad con JSON Pointer, JSON Patch y JSON Merge Patch, incluida la generación de diferencias.
  • 05Conversión desde y hacia formatos binarios como CBOR, MessagePack, BSON y UBJSON.
  • 06Macros y funciones de conversión para vincular tipos personalizados de C++ a JSON.

Casos de uso

  • Leer archivos de configuración o datos de API en una aplicación de C++.
  • Crear respuestas o mensajes JSON a partir de estructuras de datos de C++.
  • Calcular y aplicar parches JSON entre distintas versiones de un documento.
  • Serializar structs de C++ a JSON o a formatos binarios para almacenarlos o transmitirlos.

Inicio rápido

  1. 1

    Añade el único archivo de cabecera json.hpp del repositorio a tu proyecto o instálalo mediante un gestor de paquetes

  2. 2

    Incluye la cabecera en tu código C++ con #include <nlohmann/json.hpp> y empieza a usar el tipo json

Antes de usarlo

  • El README indica que existen bibliotecas JSON más rápidas, por lo que esta prioriza la facilidad de uso frente a la velocidad.

Temas

Preguntas frecuentes

¿Qué es json?
Una biblioteca header-only para C++11 que permite analizar, crear, manipular y serializar JSON con una sintaxis similar a la de STL. JSON for Modern C++ es una biblioteca de C++ para trabajar con valores JSON como si fueran tipos de datos nativos. Cada valor JSON se representa mediante una sola clase, basic_json (con el alias nlohmann::json), que puede construirse a partir de literales, contenedores de STL o tipos definidos por el usuario, y consultarse con operadores y métodos de contenedor conocidos.
¿json es gratuito? ¿Qué licencia tiene?
json es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿json sigue mantenido?
Mantenimiento activo. El último commit de json fue el 21 oct 2026.
¿Para qué puedo usar json?
Leer archivos de configuración o datos de API en una aplicación de C++. Crear respuestas o mensajes JSON a partir de estructuras de datos de C++. Calcular y aplicar parches JSON entre distintas versiones de un documento. Serializar structs de C++ a JSON o a formatos binarios para almacenarlos o transmitirlos.
¿Cómo se instala json?
Añade el único archivo de cabecera json.hpp del repositorio a tu proyecto o instálalo mediante un gestor de paquetes Incluye la cabecera en tu código C++ con #include <nlohmann/json.hpp> y empieza a usar el tipo json
¿Dónde consigo json?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/nlohmann/json

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados