Convertir JSON a C# — Generador de clases
Convierte JSON a clases C# en línea: modelos con atributos de System.Text.Json o Newtonsoft.Json, tipos nulables y List<T>. Gratis y privado en tu navegador.
🔒 Se ejecuta completamente en tu navegador — nada se subeConvierte JSON en clases modelo de C#
Este conversor de JSON a C# lee un ejemplo JSON y genera clases C# fuertemente tipadas que reflejan su estructura. Cada objeto se convierte en una public partial class, cada propiedad recibe un nombre en PascalCase con un atributo del serializador que la vincula con la clave JSON original, y los objetos anidados pasan a ser clases propias con el nombre de la propiedad que las contiene. Los arrays se convierten en List<T> o T[], las fechas ISO en DateTimeOffset y los valores que a veces faltan o son null se emiten como tipos nulables, de modo que tu código compila con datos reales y no con una versión idealizada.
Por debajo, la herramienta usa quicktype, un motor maduro de inferencia de tipos que combina todos los elementos de un array antes de decidir un tipo. Así, una lista de pedidos en la que solo algunos llevan cupón sigue generando una única clase Order con una propiedad Coupon opcional, en lugar de una clase que solo encaja con el primer elemento.
System.Text.Json o Newtonsoft
Los proyectos .NET modernos suelen usar System.Text.Json, que aquí es la opción por defecto: las propiedades se decoran con [JsonPropertyName] y la salida incluye un método de fábrica FromJson, un método de extensión ToJson y la configuración de convertidores para fechas ISO. Si tu código aún usa Json.NET, cambia el serializador a Newtonsoft y obtendrás atributos [JsonProperty] con los mismos helpers basados en JsonConvert. Elige Classes only cuando solo quieras los POCO para pegarlos en una carpeta de DTO existente y define el namespace para que el archivo encaje directamente en tu solución.
Consejos para tipos C# precisos
Pega el ejemplo más completo que encuentres: incluye campos opcionales, arrays vacíos y con datos, y más de un elemento por array para que la inferencia vea qué propiedades están siempre presentes. Cambia el nombre de la clase raíz de Root a algo significativo como OrderResponse antes de descargar: el nombre del archivo lo sigue. Tras pegar el código en Visual Studio o Rider, revisa los tipos que el ejemplo no puede revelar: un ID entero que podría superar long, una cadena que en realidad es un enum o importes monetarios que merecen decimal. Todo se ejecuta en local, así que puedes usar respuestas de producción con tranquilidad.
Cómo usar
- Pega el JSONPega un objeto o array JSON, o haz clic en Load sample para probar la herramienta.
- Ajusta las opcionesElige el nombre de la clase raíz, el namespace, el serializador y el tipo de colección.
- Copia las clasesCopia el código C# generado o descárgalo como archivo .cs para tu proyecto.
Preguntas frecuentes
¿Admite System.Text.Json y Newtonsoft.Json?
[JsonPropertyName] o [JsonProperty] correspondientes, además de los helpers de conversión de esa biblioteca.¿Puedo obtener clases simples sin los helpers del serializador?
¿Cómo se tipan las fechas, los decimales y los null?
DateTimeOffset, los números con decimales a double y los campos que faltan o son null en algunos ejemplos se vuelven nulables.