Use este gerador JSON para TypeScript para criar interfaces e tipos seguros de tipos a partir de amostras JSON para aplicativos front-end e serviços Node.js.
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.
Passo 2 – Escolha as opções de geração TypeScript
- Defina um
Root Type Name que corresponda ao seu modelo (por exemplo Root). - Escolha uma estratégia de tratamento de nulos (
Optional (?) vs Union (| null)) para corresponder à sua base de código. - Decida se deseja os aliases
interfaces ou type para a saída.
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.
Passo 4 – Use os tipos gerados
- Cole a saída em seu projeto e exporte-a do módulo de tipos.
- Use os tipos para respostas de API, DTOs e limites de análise de tempo de execução.
- Gere novamente quando sua carga JSON for alterada para manter os clientes sincronizados.
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.
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 TypeScript types (simplified)
export interface Metadata {
plan: string;
}
export interface Root {
id: number;
name: string;
email: string | null;
active: boolean;
roles: string[];
metadata: Metadata;
createdAt: string;
score: number;
notes: null;
}