Introdução ao nlohmann/json: o que é e para que serve
\n\nA biblioteca nlohmann/json (também conhecida como JSON for Modern C++) é uma das bibliotecas mais populares e convenientes para trabalhar com JSON na linguagem C++. Ela foi desenvolvida por Niels Lohmann e é distribuída sob a licença MIT. O objetivo principal da biblioteca é fornecer uma interface intuitiva, moderna e segura para análise, criação, modificação e serialização de dados JSON.
\n\nPara que serve? No desenvolvimento moderno, JSON (JavaScript Object Notation) é o padrão de facto para troca de dados entre serviços, armazenamento de configurações, trabalho com APIs e aplicações web. A biblioteca padrão do C++ não possui suporte nativo a JSON, então os desenvolvedores precisam escrever seus próprios analisadores ou usar soluções de terceiros. O nlohmann/json resolve esse problema, oferecendo:
\n\n- \n
- Sintaxe simples — trabalhar com JSON lembra o trabalho com contêineres STL integrados (std::map, std::vector). \n
- Segurança de tipos — conversão automática entre tipos C++ e JSON. \n
- Alto desempenho — a biblioteca é otimizada para velocidade e memória. \n
- Multiplataforma — funciona em Windows, Linux, macOS e também em sistemas embarcados. \n
- Suporte completo ao padrão JSON — incluindo objetos aninhados, arrays, null, valores booleanos, números e strings. \n
A biblioteca é amplamente utilizada em projetos industriais, como motores de jogos, servidores web, ferramentas de análise de dados e dispositivos IoT.
\n\nInstalação do nlohmann/json
\n\nAo contrário do Python (onde se usa pip), em C++ a instalação de bibliotecas pode ser feita de várias maneiras. Vamos ver as mais populares.
\n\nMétodo 1: Header-only (recomendado para iniciantes)
\nA biblioteca nlohmann/json é header-only — isso significa que para usá-la basta baixar um único arquivo de cabeçalho json.hpp e incluí-lo no projeto. Não é necessária compilação, vinculação ou instalação de dependências.
- \n
- Baixe o arquivo
json.hppdo repositório oficial (última versão: v3.11.3). \n - Coloque-o na pasta do seu projeto, por exemplo,
include/json.hpp. \n - No código-fonte, inclua:
#include "json.hpp". \n
Método 2: Instalação via gerenciadores de pacotes
\nSe você usa sistemas de build modernos, pode instalar a biblioteca através de um gerenciador de pacotes:
\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 projetos CMake, você pode baixar automaticamente a biblioteca durante a compilação:
\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\nInício rápido: primeiro exemplo
\n\nVamos escrever um programa simples que cria um objeto JSON, exibe-o na tela e depois analisa uma string JSON de volta.
\n\n#include <iostream>\n#include "json.hpp"\n\nusing json = nlohmann::json;\n\nint main() {\n // 1. Criação de um objeto JSON\n json person = {\n {"name", "Alice"},\n {"age", 30},\n {"is_student", false},\n {"skills", {"C++", "Python", "JSON"}},\n Também na biblioteca
Filas de Tarefas em Swift: GCD, OperationQueue e Combine para iOS/macOS
neverthrow para TypeScript: guia completo com exemplos
Trabalho com imagens em C++: bibliotecas CImg e STB Image
SwiftyUserDefaults para Swift: guia completo com exemplos