JSON a Clases / Interfaces
Convierte JSON en clases C#, interfaces TypeScript o POJOs Java con inferencia de tipos.
¿Qué es JSON a Clases y para qué sirve?
La herramienta JSON a Clases transforma documentos JSON en definiciones de tipos listas para usar en C#, TypeScript o Java. Los desarrolladores que integran APIs REST ahorran horas de escritura manual al generar automáticamente propiedades, tipos anidados y colecciones a partir de una respuesta de ejemplo. La inferencia detecta cadenas, números, booleanos, arreglos y objetos anidados, proponiendo nombres de clase coherentes con las claves del JSON. Es especialmente valiosa en proyectos .NET, Angular, React o Spring Boot.
¿Cómo se calcula / Cómo funciona?
El analizador recorre el árbol JSON en profundidad. Para cada clave, determina el tipo más específico posible según el valor observado; si un campo admite null o tipos mixtos, puede generar tipos opcionales o uniones según el lenguaje destino. Los arreglos de objetos homogéneos producen listas tipadas; los arreglos heterogéneos pueden requerir ajuste manual posterior. El generador aplica convenciones de nomenclatura del lenguaje: PascalCase en C#, camelCase en TypeScript, etc. El código resultante se puede copiar directamente al portapapeles.
Ejemplos prácticos de uso
- Un desarrollador .NET pega la respuesta de una API de facturación y obtiene clases C# con JsonPropertyName para deserializar con System.Text.Json.
- Un equipo frontend genera interfaces TypeScript desde el JSON de un endpoint GraphQL para tipar fuertemente los hooks de datos.
Preguntas Frecuentes (FAQ)
¿Funciona con JSON que tiene tipos mixtos? La inferencia se basa en la muestra proporcionada. Si un campo es número en un registro y cadena en otro, puede generar string o any. Revise y ajuste los tipos manualmente tras la generación.
¿Soporta JSON con arrays anidados profundos? Sí. Crea clases anidadas o tipos internos según la profundidad del documento. Estructuras muy complejas pueden producir muchas clases; considere simplificar el JSON de entrada.