🧩

JSON a interfaces TypeScript

Pega un JSON y genera automáticamente interfaces TypeScript, con objetos y arrays anidados

Nota: el tipo se infiere de este JSON, no es un JSON Schema. Cuando la estructura de los elementos del array es inconsistente se genera un tipo unión, y cuando el nombre de un campo no es un identificador válido se añaden comillas.

Instrucciones

JSON 转 TypeScript 接口使用说明



功能简介


拿到一份接口返回的 JSON,要手写 TypeScript 类型很费时间。这个工具直接读 JSON 结构,递归推断出嵌套的 interface。

使用方法


  • 把 JSON 粘贴到输入框,点「填入示例」可以先看一个复杂例子

  • 填好根接口名(默认 Root),选 `interface` 或 `type` 别名

  • 如果字段可能缺失,勾上「字段可选」给每个字段加 `?`

  • 点「生成 TypeScript」,结果按引用顺序输出,子类型在前、根类型在后

  • 点「复制结果」复制走


  • 注意事项


  • 类型是从这一份 JSON 推断出来的:字段为 `null` 时只会得到 `null`,缺字段也看不出来。要更准确请用多份样本或手写补充

  • 数组里元素结构不一致时会生成联合类型,例如 `(A | B)[]`

  • 空数组只能推断出 `unknown[]`,需要你自己补类型

  • 字段名不是合法标识符时会用引号包起来,符合 TypeScript 语法
  • ❓ Preguntas frecuentes

    ¿Qué pasa si los objetos del array tienen tipos distintos?

    La herramienta genera una interfaz para cada estructura diferente y escribe el tipo de los elementos del array como una unión, por ejemplo `(User | Admin)[]`; después puedes acotarla según tu lógica de negocio.

    ¿Por qué un campo null se convierte en tipo null?

    Porque con estos únicos datos no se puede saber si en el futuro será una cadena o un número. Se recomienda añadir todos los tipos que aparezcan en datos reales, o cambiarlo manualmente a `string | null`.

    ¿Se pueden generar tipos para Go o Java?

    Por ahora solo se genera TypeScript. Si quieres ver antes la estructura, con los nombres de interfaces anidadas que infiere esta herramienta no es difícil reescribirlos como structs de otros lenguajes.

    📝 Artículos relacionados

    tool-tutorials

    Qué hacer cuando se congela al procesar archivos grandes al eliminar saltos de línea, comparación de métodos por lotes

    Este artículo presenta las causas de los bloqueos en la eliminación masiva de saltos de línea en archivos grandes y compara tres métodos, explica cómo eliminar saltos de línea, la diferencia entre eliminar y reemplazar por vacío, los pasos de diagnóstico cuando no funciona, y las prácticas concretas en el móvil y en depuración de API, para que elijas la ruta adecuada según el tamaño del archivo y evites reintentos repetidos.

    tool-tutorials

    ¿Se puede usar la conversión de HTML a Markdown en el móvil? Método de conversión en línea sin instalación

    Con el navegador del móvil se puede completar la conversión de HTML a Markdown sin instalar ninguna aplicación. Este artículo ofrece pasos que puedes seguir directamente y proporciona un orden de investigación para problemas comunes como fallos con archivos grandes, desorden de formato en respuestas de interfaces y distorsión de listas anidadas en tablas, para ayudarte a obtener de forma estable texto Markdown con estructura correcta en el móvil.

    tool-tutorials

    ¿Cuál es la diferencia entre convertir imágenes a PDF y las herramientas de conversión en línea? ¿Cuál es más segura?

    Este artículo compara las diferencias entre la conversión local y la conversión en la nube en cuanto a privacidad, calidad de imagen y control, ofrece los pasos completos para convertir imágenes a PDF y responde de forma centralizada a cuatro tipos de preguntas frecuentes: compresión de archivos, uso sin instalación en el teléfono, fallos de conversión y orden de páginas, para ayudarte a elegir el método correcto según la sensibilidad de las imágenes.

    tool-tutorials

    ¿Cuál es la diferencia entre fusionar y dividir PDF? ¿Qué herramienta usar?

    Después de leer este artículo, podrás determinar rápidamente si usar fusión o división de PDF, dominar los cuatro pasos de la fusión y resolver dudas prácticas como el tamaño excesivo después de fusionar, la operación en el móvil, los avisos de archivo dañado y la seguridad del navegador.