Introducción a nlohmann/json: qué es y para qué sirve
\n\nLa biblioteca nlohmann/json (también conocida como JSON for Modern C++) es una de las bibliotecas más populares y convenientes para trabajar con JSON en el lenguaje C++. Fue desarrollada por Niels Lohmann y se distribuye bajo la licencia MIT. El objetivo principal de la biblioteca es proporcionar una interfaz intuitiva, moderna y segura para analizar, crear, modificar y serializar datos JSON.
\n\n¿Para qué sirve? En el desarrollo moderno, JSON (JavaScript Object Notation) es el estándar de facto para el intercambio de datos entre servicios, almacenamiento de configuraciones, trabajo con API y aplicaciones web. La biblioteca estándar de C++ no tiene soporte integrado para JSON, por lo que los desarrolladores deben escribir sus propios analizadores o utilizar soluciones de terceros. nlohmann/json resuelve este problema ofreciendo:
\n\n- \n
- Sintaxis simple — trabajar con JSON se asemeja a trabajar con contenedores STL integrados (std::map, std::vector). \n
- Seguridad de tipos — conversión automática entre tipos de C++ y JSON. \n
- Alto rendimiento — la biblioteca está optimizada para velocidad y memoria. \n
- Multiplataforma — funciona en Windows, Linux, macOS, así como en sistemas embebidos. \n
- Soporte completo del estándar JSON — incluyendo objetos anidados, arreglos, null, valores booleanos, números y cadenas. \n
La biblioteca se utiliza activamente en proyectos industriales, como motores de juegos, servidores web, herramientas de análisis de datos y dispositivos IoT.
\n\nInstalación de nlohmann/json
\n\nA diferencia de Python (donde se usa pip), en C++ la instalación de bibliotecas se puede realizar de varias maneras. Veamos las más populares.
\n\nMétodo 1: Header-only (recomendado para principiantes)
\nLa biblioteca nlohmann/json es header-only — esto significa que para usarla solo necesita descargar un archivo de encabezado json.hpp e incluirlo en su proyecto. No se requiere compilación, enlace ni instalación de dependencias.
- \n
- Descargue el archivo
json.hppdesde el repositorio oficial (la última versión es v3.11.3). \n - Colóquelo en la carpeta de su proyecto, por ejemplo,
include/json.hpp. \n - En el código fuente, incluya:
#include "json.hpp". \n
Método 2: Instalación a través de gestores de paquetes
\nSi utiliza sistemas de compilación modernos, puede instalar la biblioteca a través de un gestor de paquetes:
\n- \n
- vcpkg (Windows, Linux, macOS):
vcpkg install nlohmann-json\n - Conan:
conan install nlohmann_json/3.11.3@\n - Homebrew (macOS):
brew install nlohmann-json\n - APT (Ubuntu/Debian):
sudo apt install nlohmann-json3-dev\n
Método 3: CMake FetchContent
\nPara proyectos con CMake, puede descargar automáticamente la biblioteca durante la compilación:
\ninclude(FetchContent)\nFetchContent_Declare(\n json\n GIT_REPOSITORY https://github.com/nlohmann/json.git\n GIT_TAG v3.11.3\n)\nFetchContent_MakeAvailable(json)\ntarget_link_libraries(your_target PRIVATE nlohmann_json::nlohmann_json)\n\nInicio rápido: primer ejemplo
\n\nEscribamos un programa simple que cree un objeto JSON, lo muestre en pantalla y luego analice una cadena JSON de vuelta.
\n\n#include <iostream>\n#include "json.hpp"\n\nusing json = nlohmann::json;\n\nint main() {\n // 1. Creación de un objeto JSON\n json person = {\n {"name", "Alice"},\n {"age", 30},\n {"is_student", false},\n {"skills", {"C++", "Python", "JSON"}},\n También en la biblioteca
Geolocalización y mapas en PHP: revisión de bibliotecas y herramientas
Trabajo con archivos ZIP en Rust: biblioteca zip y guía completa
Trabajo con Excel en C# (.NET): Bibliotecas EPPlus y ClosedXML
Cliente Elasticsearch para Rust: biblioteca oficial elasticsearch-rs
Migraciones de bases de datos en TypeScript: guía completa de herramientas y enfoques