1

Normalmente eu uso o https://transform.tools/json-to-typescript, mas ela tem um problema que quase todas as similares tem que é converter para interface enquanto eu prefiro trabalhar com type.

Para minha forma de trabalho, eu uso interface para o propósito que esse termo é usado na Orientação a Objetos, e não para definir estrutura de dados, para isso eu prefiro usar type.

Carregando publicação patrocinada...
1

Sim, boto fé, faz sentido. Essa ali em cima tem a opção de escolher o output, se quiser como interface ou type.

Se tiver algum problema ali, ou bug, só me avisar, que assim que der eu corrijo

0
1

Aquela opção gera um type único com tudo.
Diferente da opção com interface que segmenta os subtipos.

Exemplo com interface:

// Entrada
{
  "userId": 1,
  "id": 1,
  "title": "delectus aut autem",
  "completed": false,
  "teste": {
    "outro": 1
  }
};

// Saída
export interface Root {
  userId: number
  id: number
  title: string
  completed: boolean
  teste: Teste
}

export interface Teste {
  outro: number
};

Com aquela opção de type a saída será:

export type Root = {
  userId: number
  id: number
  title: string
  completed: boolean
  teste: {
    outro: number
  }
}

E isso tem sido uma característica de várias ferramentas do tipo, mas a sua já resolve isso, salvei aqui nos favoritos para usar depois.