JSON a C#
Convertir JSON a clases C# y objetos POCO para desarrollo .NET
Entrada JSON
Salida C#
¿Qué es JSON a C#?
C# usa clases y propiedades para representar datos. Al consumir JSON de una API o configuración, necesitas tipos C# coincidentes para la deserialización. Esta herramienta genera clases C# (POCOs) desde tu JSON. Pega JSON de ejemplo y obtén definiciones de clases con los tipos de propiedad correctos. Úsalas con System.Text.Json o Newtonsoft.Json.
La conversión se ejecuta en tu navegador. Usa las opciones de configuración para el nombre de clase, propiedades vs. campos y tipos nullable. No se envía nada a ningún servidor.
Cómo usar esta herramienta
Pegar JSON
Pega tu JSON en el editor izquierdo o sube un archivo. Usa Ejemplo para datos de ejemplo. Configura el nombre de clase raíz y opciones (Properties, Nullable) en el panel de configuración.
Revisar las clases
El panel derecho muestra las clases C# generadas. Los objetos anidados se convierten en clases separadas. Los arrays se convierten en List<T> o T[]. Añade atributos [JsonPropertyName] si necesitas nombres de clave JSON diferentes.
Copiar o descargar
Usa <strong>Copiar</strong> o <strong>Descargar</strong> para obtener el código. Pégalo en tu proyecto .NET. Para formatear JSON primero, usa el Formateador JSON. Para validación, usa el Validador JSON.
Ejemplos de JSON a C#
Aquí un ejemplo de generación de clases C# desde un objeto JSON.
Ejemplo: Registro de suscriptor
Entrada JSON:
Salida C# generada:
Cuándo ayuda JSON a C#
Al integrar APIs REST en .NET, ASP.NET Core o Blazor, necesitas tipos C# para deserialización. Pegar una respuesta de ejemplo aquí te da POCOs para JsonSerializer.Deserialize<T>() o Newtonsoft.Json. Para pruebas de API, Postman y jq son útiles.
Preguntas frecuentes
¿Properties vs. campos?
Las properties usan get; y set;. System.Text.Json y Newtonsoft.Json serializan properties por defecto. Los campos funcionan pero son menos comunes para DTOs.
¿Qué pasa con los tipos de referencia nullable?
Activa Nullable Types en la configuración para obtener string? etc. Útil para campos JSON opcionales. Requiere contexto nullable en tu proyecto.
¿Se envían mis datos a algún sitio?
No. La generación se ejecuta en tu navegador.
¿Puedo usar esto con System.Text.Json?
Sí. Las clases generadas funcionan con JsonSerializer.Deserialize<T>(). Añade using System.Text.Json.Serialization; si necesitas atributos personalizados.
¿Y si mis claves JSON no coinciden con la nomenclatura C#?
Usa [JsonPropertyName("json_key")] en la propiedad, o configura JsonSerializerOptions.PropertyNamingPolicy a camelCase.
Herramientas relacionadas
System.Text.Json. Newtonsoft.Json. Especificación JSON. RFC 8259. MDN. .NET. Postman.