Entrada JSON

Salida C#

¿Qué es JSON a C#?

Si estás integrando una API de terceros en tu app .NET, normalmente recibes documentos JSON pero necesitas clases C# tipadas para deserializar la respuesta. Escribir esas clases a mano es tedioso — especialmente con objetos profundamente anidados. Esta herramienta genera C# POCOs desde tu JSON automáticamente. Pega una respuesta de API de ejemplo y obtén definiciones de clases listas para usar en tu proyecto. Funcionan de inmediato 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

1

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.

2

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.

3

Copiar o descargar

Usa Copiar o Descargar 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:

Entrada

Salida C# generada:

Salida

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.

Ejemplos de JSON a C#

Ejemplo: Objeto JSON a clase C#

Entrada JSON:

{"subscriberId":"SUB-001","planName":"Plan Premium 4G","dataLimit":"50GB","voiceMinutes":500,"status":"activo"}

Clase C# generada:

public class RootObject
{
    public string SubscriberId { get; set; }
    public string PlanName { get; set; }
    public string DataLimit { get; set; }
    public int VoiceMinutes { get; set; }
    public string Status { get; set; }
}

Preguntas frecuentes

¿Cómo deserializo JSON en C#?

Usa JsonSerializer.Deserialize<TuClase>(jsonString) de System.Text.Json, o JsonConvert.DeserializeObject<TuClase>(jsonString) de Newtonsoft.Json. Necesitas una clase C# que coincida — genérala aquí pegando tu JSON.

¿Qué pasa si mis claves JSON no coinciden con las convenciones de nombres de C#?

Usa [JsonPropertyName("json_key")] en la propiedad (System.Text.Json), o [JsonProperty("json_key")] (Newtonsoft). También puedes configurar JsonSerializerOptions.PropertyNamingPolicy a JsonNamingPolicy.CamelCase para mapeo automático.

¿Qué pasa con los tipos de referencia nullable en C#?

Activa Nullable Types en la configuración para generar string?, int?, etc. Es útil cuando los campos JSON pueden ser null o estar ausentes. Necesitarás #nullable enable o una configuración de proyecto compatible con nullable.

¿Se envía mi JSON a un servidor?

No. La generación de clases se ejecuta completamente en tu navegador. Tu JSON nunca sale de tu máquina, así que es seguro usarlo con claves API de producción o datos sensibles.

Properties vs campos — ¿cuál debo usar?

Las properties (get; set;) son el estándar para DTOs en C#. Tanto System.Text.Json como Newtonsoft.Json serializan properties públicas por defecto. Los campos funcionan, pero son menos comunes para objetos de transferencia de datos.

Herramientas relacionadas

System.Text.Json. Newtonsoft.Json. Especificación JSON. RFC 8259. MDN. .NET. Postman.