Convertir JSON a Clase C#
Genera clases C# desde JSON, en tu navegador.
Para qué sirve
JSON a clases C# listas para .NET
Compatible con .NET moderno
Las clases generadas funcionan con System.Text.Json (.NET 5+) y Newtonsoft.Json. Listas para ASP.NET Core y .NET MAUI.
100% privado
Tu JSON se procesa en el navegador. Nunca se envía a servidores externos. Seguro para APIs confidenciales.
Código idiomático C#
Auto-propiedades, PascalCase, tipos nullable correctos. Código que sigue las convenciones oficiales de Microsoft.
Instantáneo
Generación de clases en milisegundos. Sin instalaciones, sin registro, sin esperas.
Cómo funciona
Tres pasos, sin complicaciones
Pega tu JSON
Pega cualquier objeto JSON válido. El analizador detecta tipos, campos opcionales y estructuras anidadas.
Genera las clases C#
Se generan clases C# con auto-propiedades, tipos nullable para campos opcionales y clases anidadas.
Copia y usa en tu proyecto
Copia el código generado a Visual Studio o VS Code. Compatible con System.Text.Json y Newtonsoft.Json sin modificaciones.
Preguntas frecuentes
¿Tienes dudas?
Las auto-propiedades ({ get; set; }) son una característica de C# que permite declarar propiedades sin necesidad de escribir el campo de respaldo manualmente. En lugar de declarar un campo privado y sus accessors explícitos, simplemente escribes public string Nombre { get; set; } y el compilador genera el campo de respaldo automáticamente. Esto hace el código más conciso y legible.
La convención de nomenclatura de .NET (documentada en las guías de Microsoft) establece que las propiedades públicas deben usar PascalCase (NombrePropiedad), a diferencia de Java que usa camelCase. Sin embargo, System.Text.Json y Newtonsoft.Json pueden mapear automáticamente entre PascalCase en C# y camelCase en JSON usando JsonPropertyName o configuración de serialización.
Cuando un campo está presente en algunos objetos del JSON pero no en otros, se infiere como opcional y se genera con tipo nullable (string?, int?, bool?). Esto requiere C# 8.0 o superior con contexto nullable habilitado. Los tipos nullable evitan NullReferenceException al acceder a campos que pueden no estar presentes en la respuesta JSON.
Los objetos JSON anidados se convierten en clases C# separadas dentro del mismo archivo. Cada clase anidada se genera como una clase pública normal (no como clase interna), siguiendo la convención de C# de tener una clase por responsabilidad. Las referencias entre clases se establecen mediante el tipo de la propiedad.
System.Text.Json está incluido en .NET Core 3.0+ y es la opción recomendada para proyectos nuevos: es más rápido y no requiere dependencias externas. Newtonsoft.Json (Json.NET) tiene más características y es más flexible, siendo la opción preferida cuando necesitas conversores personalizados complejos o compatibilidad con proyectos más antiguos. Las clases generadas por esta herramienta son compatibles con ambos sin modificaciones.
Clases C#, records, serialización JSON en .NET y desarrollo ASP.NET Core
C# es el lenguaje principal del ecosistema .NET de Microsoft, usado extensamente para APIs web con ASP.NET Core, aplicaciones de escritorio con WPF/WinForms, y aplicaciones multiplataforma con .NET MAUI. En el desarrollo de APIs REST con ASP.NET Core, los modelos de datos (también llamados DTOs o view models) son clases C# que representan el cuerpo de peticiones y respuestas JSON.
Con C# 9.0 y .NET 5+, Microsoft introdujo los record types: clases inmutables con igualdad basada en valor, ideales para DTOs. A diferencia de las clases normales, los records son inmutables por defecto y requieren menos código boilerplate. Sin embargo, para escenarios donde los objetos deben ser mutables (por ejemplo, cuando se deserializan desde JSON), las clases con auto-propiedades siguen siendo la opción estándar.
System.Text.Json, introducido en .NET Core 3.0, reemplaza a Newtonsoft.Json como la biblioteca de serialización JSON recomendada. Es significativamente más rápido y tiene huella de memoria menor, lo que es importante para APIs de alto rendimiento. En benchmarks, System.Text.Json supera a Newtonsoft en velocidad de serialización y deserialización. Convertir.ai genera clases compatibles con ambas bibliotecas, procesando todo en tu navegador sin enviar datos a servidores.