Monu Tools

JSON para TypeScript

Gere interfaces TypeScript a partir de um exemplo JSON, com tipos aninhados, arrays e campos opcionais. Corre no seu navegador.

Como usar o/a JSON para TS

  1. 01

    Cole um objeto ou array JSON.

  2. 02

    Opcionalmente, defina o nome da interface raiz.

  3. 03

    Copie as interfaces TypeScript geradas.

O que o gerador faz

Este é um gerador de JSON para TypeScript que infere um conjunto de interfaces a partir de um objeto ou array JSON de exemplo, para poder colar uma resposta de API e obter tipos prontos a usar em vez de os escrever à mão.

É uma grande poupança de tempo quando está a consumir uma API ou um ficheiro de configuração: cole uma resposta, opcionalmente dê um nome à interface raiz, e copie TypeScript limpo diretamente para o seu código.

A geração corre inteiramente no seu navegador, por isso os seus dados nunca saem do seu dispositivo, o que importa quando a amostra contém valores reais.

Como lida com formas do mundo real

Lida com formas do mundo real: objetos aninhados tornam-se as suas próprias interfaces nomeadas referenciadas a partir do pai, arrays de objetos são fundidos numa única interface, e tipos de união são produzidos onde os valores variam.

Campos opcionais em arrays mistos

Quando os objetos num array não têm todos as mesmas chaves, as chaves em falta em alguns elementos são marcadas como opcionais com um ponto de interrogação, o que corresponde ao comportamento real dos dados e mantém os tipos honestos.

Infere, não impõe um esquema

Um ponto importante: infere uma forma a partir da única amostra que lhe dás, em vez de impor um esquema. Se um campo for por vezes nulo ou ausente em dados reais mas não na sua amostra, o tipo gerado não saberá disso, por isso usa um exemplo representativo.

Perguntas frequentes

Como são tratados os objetos aninhados?

Cada objeto aninhado torna-se a sua própria interface com nome, referenciada a partir do seu pai, por isso o resultado é limpo e reutilizável.

E os arrays com formatos diferentes?

Os arrays de objetos são fundidos numa única interface, e as chaves em falta em alguns elementos são marcadas como opcionais. Arrays de primitivos mistos tornam-se um tipo de elemento em união.

O meu JSON é enviado para algum lado?

Não. Os tipos são gerados inteiramente no seu navegador, por isso os seus dados nunca saem do seu dispositivo.

Fontes

Incorporar esta ferramenta

Adicione esta ferramenta ao seu próprio site. Copie o excerto abaixo; mantém-se atualizado automaticamente.

<iframe src="https://monu.tools/embed/pt/json-to-typescript" width="100%" height="640" style="border:1px solid #e5e5e5;border-radius:12px;max-width:680px" loading="lazy" title="Monu Tools"></iframe>

Ferramentas relacionadas