JSON to TypeScript
Preguntas Frecuentes
Everything you need to know about generating TypeScript interfaces
¿Cómo se infieren los tipos del JSON?
The tool recursively analyzes your JSON: strings become string, numbers become number, booleans become boolean. Each nested object generates its own interface with a PascalCase name derived from the key, while arrays produce [] types by inferring the element type. Null values are treated as optional properties.
¿Cómo se manejan los arrays y los tipos mixtos?
For arrays, the tool examines all elements and builds a union type when it finds different types (for example (string | number)[]). An empty array becomes any[]. If the elements are objects, a reusable interface with a singular name is generated. All computation happens in your browser, your JSON never leaves your device.
¿Puedo cambiar el nombre de la interfaz principal?
Yes, use the "Root interface name" field to set the name of the top-level interface. The text is automatically converted to valid TypeScript PascalCase. Nested interfaces are automatically named from their respective keys, with numeric suffixes added in case of collisions to guarantee unique names.
¿Cómo se tipan los arrays del JSON?
Se examina cada elemento del array y los tipos encontrados forman una unión. Si todos los elementos comparten la misma forma, el resultado es un array de una sola interfaz.
¿Qué pasa con los valores null del JSON?
Un null en el JSON de partida produce una propiedad marcada como opcional con un interrogante y de tipo null, porque el ejemplo por sí solo no dice cuál es el tipo real de ese campo.
¿Se puede cambiar el nombre de la interfaz principal?
Sí, hay un campo para el nombre de la interfaz raíz, que de inicio es RootObject. El nombre se convierte a PascalCase y las interfaces anidadas toman el nombre de la clave que las contiene.