nlohmann/json para C++: guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Introducción a nlohmann/json: qué es y para qué sirve

\n\n

La 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
\n\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\n

Instalación de nlohmann/json

\n\n

A 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\n

Método 1: Header-only (recomendado para principiantes)

\n

La 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
    \n
  1. Descargue el archivo json.hpp desde el repositorio oficial (la última versión es v3.11.3).
  2. \n
  3. Colóquelo en la carpeta de su proyecto, por ejemplo, include/json.hpp.
  4. \n
  5. En el código fuente, incluya: #include "json.hpp".
  6. \n
\n\n

Método 2: Instalación a través de gestores de paquetes

\n

Si 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
\n\n

Método 3: CMake FetchContent

\n

Para proyectos con CMake, puede descargar automáticamente la biblioteca durante la compilación:

\n
include(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\n

Inicio rápido: primer ejemplo

\n\n

Escribamos 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                    

Recommendations