DocumentosImágenesMediaHerramientas PDF

Convertir JSON a Clase C#

Genera clases C# desde JSON, en tu navegador.

Procesado en tu navegador

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.

Tres pasos, sin complicaciones

1

Pega tu JSON

Pega cualquier objeto JSON válido. El analizador detecta tipos, campos opcionales y estructuras anidadas.

2

Genera las clases C#

Se generan clases C# con auto-propiedades, tipos nullable para campos opcionales y clases anidadas.

3

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.

¿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.