O que este gerador de tipos JSON faz
Escrever classes de modelo à mão para uma grande resposta de API é lento e propenso a erros. Coloque uma amostra de JSON e esta ferramenta infere um modelo de tipo completo e imprime-o como estruturas Go com tags json, estruturas Rust com derivadas serde, esquemas Zod, modelos Pydantic, classes de dados Kotlin, registros Java, classes C #, estruturas Swift Codable ou interfaces TypeScript. Objetos aninhados tornam-se seus próprios tipos nomeados, matrizes de objetos são mesclados de modo que cada campo visto em qualquer elemento é capturado, e a inferência é executada em um Web Worker para que mesmo amostras de vários megabyte não congelar a página.
Como usar
- Colocar o JSON na entrada ou carregar a amostra.
- Definir o nome do tipo de raiz, por exemplo
UserouOrderResponse. - Escolha a aba de idioma alvo. A saída regenera-se instantaneamente.
- Copie o código em seu projeto e ajuste nomes ou tipos onde seu conhecimento de domínio bate inferência.
Como funciona a inferência
- Campos opcionais: se um elemento de uma matriz não tiver uma chave, esta é marcada como opcional (
?em TS,Option<T>em Rust,omitemptyem Go,= Noneem Pydantic). - Campos anulados: um valor
nulltorna o campo anulado na língua de destino. - ** Números:** Os números inteiros e os floats são rastreados separadamente, de modo que
42se tornaint64/i64/Longenquanto4.2se torna um tipo de float. - ** Tipos mistos:** quando o mesmo campo contém diferentes tipos, as linguagens com uniões (TypeScript, Zod, Pydantic) obtêm uma união, e os outros voltam a um tipo de valor JSON genérico.
- Nomeação: Chaves como
user_idoucreated-atsão convertidas em nomes de campo idiomáticos por idioma, com a chave original preservada em tags ou anotações (json:"user_id",#[serde(rename)],@SerialName,CodingKeys).
Dicas
- Dê-lhe uma amostra representativa. Um único objeto com uma matriz vazia não diz nada sobre os itens da matriz.
- Combinar várias respostas em uma matriz de nível superior para capturar campos opcionais de forma confiável.
- A saída Zod exporta tanto o esquema quanto o tipo inferido, para obter validação em tempo de execução e digitação estática juntos.