Repolode
nlohmann

nlohmann/json

Biblioteca C++11 header-only que permite analisar, criar, manipular e serializar JSON em C++ com uma sintaxe semelhante à da STL.

Estrelas
50,790
Forks
7,511
Issues abertas
19
Último commit
há 4 horas

O que é?

JSON for Modern C++ é uma biblioteca C++ para trabalhar com valores JSON como se fossem tipos de dados nativos. Um valor JSON é representado por uma única classe, basic_json (com o alias nlohmann::json), que pode ser criada a partir de literais, contêineres da STL ou tipos definidos pelo usuário, e acessada com operadores e métodos familiares de contêineres.

A biblioteca inteira é distribuída em um único arquivo de cabeçalho, então pode ser adicionada a um projeto sem uma etapa de build separada nem dependências. Ela oferece suporte a JSON Pointer (RFC 6901), JSON Patch (RFC 6902) e JSON Merge Patch (RFC 7396), incluindo a geração de diffs, e pode converter dados de e para vários formatos binários, como BSON, CBOR, MessagePack, UBJSON, BJData e BON8.

Tipos definidos pelo usuário podem ser mapeados para JSON por meio das funções to_json e from_json ou de macros auxiliares que as geram. O projeto oferece documentação e uma referência da API, além de listar a integração com CMake e gerenciadores de pacotes comuns.

Recursos principais

  • 01Integração com um único header, sem dependências, escrita em C++11.
  • 02Sintaxe intuitiva, semelhante à da STL, para acessar e atribuir valores JSON.
  • 03Parsing de strings, streams e intervalos de iteradores, além de serialização com indentação.
  • 04Suporte a JSON Pointer, JSON Patch e JSON Merge Patch, incluindo a geração de diffs.
  • 05Conversão de e para formatos binários como CBOR, MessagePack, BSON e UBJSON.
  • 06Macros e funções de conversão para mapear tipos C++ personalizados para JSON.

Casos de uso

  • Ler arquivos de configuração ou payloads de API em uma aplicação C++.
  • Montar respostas ou mensagens JSON a partir de estruturas de dados C++.
  • Calcular e aplicar patches JSON entre versões de um documento.
  • Serializar structs C++ para JSON ou formatos binários para armazenamento ou transporte.

Início rápido

  1. 1

    Adicione o único arquivo de cabeçalho json.hpp do repositório ao seu projeto ou instale-o por meio de um gerenciador de pacotes

  2. 2

    Inclua o cabeçalho no seu código C++ com #include <nlohmann/json.hpp> e comece a usar o tipo json

Antes de usar

  • O README informa que existem bibliotecas JSON mais rápidas; por isso, esta prioriza a facilidade de uso em vez da velocidade.

Tópicos

Perguntas frequentes

O que é json?
Biblioteca C++11 header-only que permite analisar, criar, manipular e serializar JSON em C++ com uma sintaxe semelhante à da STL. JSON for Modern C++ é uma biblioteca C++ para trabalhar com valores JSON como se fossem tipos de dados nativos. Um valor JSON é representado por uma única classe, basic_json (com o alias nlohmann::json), que pode ser criada a partir de literais, contêineres da STL ou tipos definidos pelo usuário, e acessada com operadores e métodos familiares de contêineres.
json é gratuito? Qual é a licença?
json é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
json ainda é mantido?
Manutenção ativa. O último commit de json foi em 21 de out. de 2026.
Para que posso usar json?
Ler arquivos de configuração ou payloads de API em uma aplicação C++. Montar respostas ou mensagens JSON a partir de estruturas de dados C++. Calcular e aplicar patches JSON entre versões de um documento. Serializar structs C++ para JSON ou formatos binários para armazenamento ou transporte.
Como instalar json?
Adicione o único arquivo de cabeçalho json.hpp do repositório ao seu projeto ou instale-o por meio de um gerenciador de pacotes Inclua o cabeçalho no seu código C++ com #include <nlohmann/json.hpp> e comece a usar o tipo json
Onde consigo json?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nlohmann/json

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados