Entrada JSON

Saída C

O que é JSON para C?

C não tem tipos JSON nativos. Bibliotecas como json-c ou cJSON fazem parse de JSON em tempo de execução. Esta ferramenta gera structs C a partir do seu JSON para mapear dados parseados a estruturas tipadas. A especificação JSON define o formato de entrada.

A conversão roda no seu navegador. Configure o nome do struct no painel de configuração. Nada é enviado a um servidor. Para C++, use JSON para C++ para classes e std::vector.

Como usar esta ferramenta

1

Colar ou enviar JSON

Cole seu JSON ou envie um arquivo. Configure o nome do struct no painel de configuração. JSON inválido mostrará um erro. Use o Validador JSON para verificar a sintaxe primeiro.

2

Revisar a saída C

O painel direito mostra structs C gerados. Use cJSON ou json-c para fazer parse de JSON e preencher esses structs. Você deve gerenciar memória ao preencher strings e arrays.

3

Copiar ou baixar

Use <strong>Copiar</strong> ou <strong>Baixar</strong>. Para formatar JSON primeiro, use o Formatador JSON. Para validação, use o Validador JSON.

Exemplos de JSON para C

Aqui está um exemplo de geração de structs C a partir de um objeto JSON.

Exemplo: Registro de assinante

Entrada JSON:

Entrada

Saída C gerada:

Saída

Quando JSON para C ajuda

Ao escrever sistemas embarcados, firmware ou código C legado que consome APIs REST ou arquivos de configuração, você precisa de definições de struct para o JSON. Colar um exemplo aqui fornece structs C para usar com cJSON ou json-c. Escrever structs manualmente para JSON aninhado complexo é propenso a erros; esta ferramenta infere a estrutura do seu exemplo. Para extrair valores específicos primeiro, use jq.

Perguntas frequentes

Qual biblioteca JSON para C?

cJSON é leve e amplamente usada. json-c é outra opção. Ambas fazem parse de JSON em uma árvore que você pode percorrer para preencher structs. cJSON é single-file e fácil de incorporar.

Como lidar com strings e arrays?

Strings mapeiam para char* ou buffers fixos. Arrays mapeiam para ponteiros ou arrays de tamanho fixo. Você deve gerenciar memória ao preencher structs. Use cJSON_GetObjectItem e cJSON_GetArrayItem para percorrer e copiar valores.

Meus dados são privados?

Sim. A geração roda inteiramente no seu navegador. Nenhum JSON ou código é enviado a um servidor.

Posso usar em sistemas embarcados?

Sim. cJSON é projetado para uso embarcado. Os structs gerados são C puro. Você pode precisar ajustar tamanhos para buffers fixos ou usar alocação dinâmica onde suportado.

Objetos aninhados vs ponteiros?

Objetos JSON aninhados tornam-se structs aninhados ou ponteiros para structs. O gerador produz a estrutura; você decide a estratégia de alocação (stack, heap ou estática).

Ferramentas relacionadas

cJSON. json-c. especificação JSON. MDN JSON. RFC 8259.