JSON → Interface TypeScript
Desenvolvimento
Cole uma amostra JSON (resposta de API, config, fixture) e receba uma interface TypeScript pronta para colar. Objetos aninhados viram interfaces próprias com o nome da chave pai (em PascalCase), arrays inferem o tipo do elemento, primitivos continuam primitivos. Modo merge percorre cada elemento do array para produzir uniões; modo só-primeiro infere do índice zero (mais rápido para arrays grandes).
export interface Post {
id: number;
title: string;
tags: string[];
}
export interface Address {
city: string;
zip: string;
}
export interface Root {
id: number;
name: string;
active: boolean;
joinedAt: string;
roles: string[];
address: Address;
posts: Post[];
}Como usar
- Cole uma amostra JSON.
- Defina o nome do tipo raiz e escolha interface ou type-alias.
- Escolha o tratamento de arrays — merge (mais seguro) ou primeiro (mais rápido).
- Copie o TypeScript gerado.
Perguntas frequentes
- Por que meu array de users gera uma interface User?
- Chaves plurais (users, posts, tags) são singularizadas para o nome do tipo aninhado. 'posts': [...] gera uma interface Post, usada como Post[].
- O que merge vs primeiro fazem?
- Merge percorre todos os elementos do array unindo os tipos de campos, então campos 'opcionais' que faltam em alguns elementos viram 'field?'. Primeiro olha apenas o elemento zero — rápido mas perde uniões e opcionalidade.
- Datas são inferidas como Date?
- Não — TypeScript não distingue uma string de data de outra string em tempo de compilação. A ferramenta mantém como 'string' para a saída ser correta no strict.
- E null?
- null vira tipo próprio. Se um campo é às vezes null no modo merge, você obtém 'field: string | null' em vez de 'field: string'.
Ferramentas relacionadas
Decodificador JWT
Decodifique um JSON Web Token para inspecionar cabeçalho, claims e expiração.
Gerador de UUID
Gere UUIDs v4 aleatórios em lote, com cópia.
Gerador de Hash (SHA)
Gere hashes SHA-1, SHA-256, SHA-384 e SHA-512 a partir de texto.
Codificador / Decodificador de URL
Codifique texto para URLs em porcentagem, ou decodifique URLs em texto.
Codificador / Decodificador Base64
Codifique texto em Base64 ou decodifique Base64 de volta em texto.
Formatador e Validador de JSON
Formate, embeleze, minifique e valide JSON no seu navegador.