Gerador de JSON para C++

Entrada JSON

Carregando editor…

C++ Gerado

Configuration

Insira dados JSON para gerar classes C++

Classes C++ modernas com suporte à serialização JSON

Como converter JSON para C++ – guia passo a passo

Use este gerador JSON para C++ para criar classes/estruturas C++ a partir de amostras JSON para serviços de back-end e aplicativos nativos.

  1. Passo 1 – Cole uma amostra JSON

    • Cole um objeto ou matriz JSON representativo no editor esquerdo.
    • Inclua objetos aninhados, matrizes e campos anuláveis para que os tipos sejam inferidos corretamente.
    • Use Import para carregar JSON de um arquivo, URL ou dados de amostra.
  2. Passo 2 – Escolha as opções de geração C++

    • Escolha uma raiz Class Name que corresponda ao seu modelo de domínio.
    • Decida como representar campos anuláveis (por exemplo std::optional).
    • Confirme como as matrizes e os objetos aninhados são mapeados (normalmente std::vector e tipos aninhados).
  3. Passo 3 – Revise o código gerado

    • Verifique nomes de campos, tipos e como matrizes/objetos são modelados.
    • Ajuste opções como Root Type Name, tratamento nulo e estruturas, se disponíveis.
    • Se um campo for inferido incorretamente, ajuste seu JSON de amostra e gere-o novamente.
  4. Passo 4 – Use os tipos gerados em C++

    • Adicione os arquivos de cabeçalho/fonte gerados ao seu sistema de compilação.
    • Use sua biblioteca JSON preferida para analisar e preencher os tipos de modelo.
    • Execute um formatador (como clang-format) para corresponder ao seu guia de estilo.
  5. Passo 5 – Copiar ou baixar

    • Copie a saída em seu projeto ou baixe-a como um arquivo.
    • Execute seu formatador/linter para corresponder ao seu estilo de código.
    • Adicione bibliotecas de análise/serialização JSON se sua linguagem exigir.

Dicas rápidas

  • Use std::optional para campos que podem estar ausentes ou nulos.
  • Mantenha a análise e a validação próximas dos limites do seu aplicativo.
  • Prefira tipos de valor e RAII para evitar o gerenciamento manual de memória.
Saída de exemplo (simplificada)
// Entrada JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated C++ models (simplified)
struct Metadata {
  std::string plan;
};

struct Root {
  int id;
  std::string name;
  std::optional<std::string> email;
  bool active;
  std::vector<std::string> roles;
  Metadata metadata;
  std::string createdAt;
  double score;
  std::nullptr_t notes;
};

Ferramentas JSON e C++ relacionadas

Explore mais ferramentas JSON e de esquema que funcionam muito bem junto com este gerador JSON para C++.

Perguntas Frequentes

Quais recursos de C++ são suportados?

O gerador cria classes modernas em C++ com construtores, métodos getter/setter, serialização/deserialização JSON e suporte a containers STL e smart pointers.

Como a serialização JSON é tratada?

As classes geradas incluem métodos toJson() e fromJson() que funcionam com a biblioteca nlohmann/json para serialização e deserialização.

Quais padrões de C++ são suportados?

O código gerado é compatível com C++11 ou superior, usa std::string, std::vector e outros containers STL, com suporte opcional a smart pointers.

Como objetos aninhados são tratados?

Objetos aninhados geram definições de classe correspondentes; arrays são mapeados para std::vector, suportando estruturas complexas aninhadas.

Gerador de JSON para C++ | JSONSwiss