JSON → Interface TypeScript
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
Gerador de JSON Schema
Cole qualquer JSON e receba um JSON Schema draft-07 que combina com sua forma — tipos inferidos, formatos detectados, campos required.
Gerador de esquema Zod a partir de JSON
Transforme um objeto JSON em um esquema de validação Zod com tipos inferidos, no seu navegador.
Conversor de JSON para esquema GraphQL (SDL)
Transforme um objeto JSON em definições de tipo GraphQL (SDL) com mapeamento de escalares, no seu navegador.
Gerador de Mock Data
Gere registros falsos realistas para testes — nomes, emails, datas, IDs, lorem — exporte como JSON, CSV ou SQL INSERT.
Gerador de JSON para @typedef do JSDoc
Converta um objeto JSON em blocos @typedef do JSDoc com tags @property, no seu navegador.
Conversor de JSON para dataclass Python
Transforme um objeto JSON em definições @dataclass do Python com type hints, no seu navegador.