Una biblioteca de formato para C++ rápida y segura en cuanto a tipos, alternativa a C stdio e iostreams, que implementa std::format de C++20.
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
Añade el único archivo de cabecera json.hpp del repositorio a tu proyecto o instálalo mediante un gestor de paquetes
- 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
Herramienta de escritorio y extensión de VS Code para crear, editar y comparar documentos JSON, además de generarlos a partir de clases de lenguajes de programación.
Una codificación compacta y legible para humanos de datos JSON, diseñada para reducir el uso de tokens al incluir datos estructurados en prompts de LLM.
Un parser JSON para C++ que usa instrucciones SIMD para procesar gigabytes de JSON por segundo con validación completa.
Una biblioteca Java para convertir objetos Java a JSON y viceversa, incluso si no tienes el código fuente de esos objetos.
Microframework de C++ rápido y al estilo de Flask para crear servicios web HTTP y WebSocket; solo requiere archivos de cabecera y es fácil de usar.