Skip to main content
Volver a herramientas

JSON to Clase C#

Genera POCOs C# con System.Text.Json a partir de un objeto JSON

Acerca de JSON to Clase C#

Crea clases C# con auto-propiedades en PascalCase y atributos [JsonPropertyName] a partir de una muestra JSON: Root más una clase por cada objeto anidado. Los arrays se convierten en List<T> según su primer elemento, los números enteros en int y los decimales en double. Cada clase lleva sus propias directivas using, así que guarda las clases en archivos .cs separados o elimina los using repetidos antes de juntarlas en un solo archivo.

Categoría: Conversores.

Preguntas frecuentes

¿Qué es un POCO?

▾

Un Plain Old CLR Object (POCO) es una clase C# simple con auto-propiedades y sin dependencias de frameworks — el equivalente C# de un POJO de Java.

¿Para qué serializador son los atributos?

▾

Los atributos [JsonPropertyName] provienen de System.Text.Json, el serializador integrado de .NET disponible desde .NET Core 3.0+. No se necesitan paquetes adicionales.

¿Cómo se manejan los tipos anulables?

▾

Un null en la muestra se convierte en object?, ya que no se puede inferir su tipo real; reemplázalo por el tipo correcto, como string? o int?. Las anotaciones ? dependen de los tipos de referencia anulables (<Nullable>enable</Nullable> en tu .csproj), que además mostrarán advertencias en las propiedades de referencia no anulables, como string, hasta que las inicialices o las marques como required.

¿Cómo deserializo con System.Text.Json?

▾

Root root = JsonSerializer.Deserialize<Root>(jsonString)! — los atributos [JsonPropertyName] se encargan del mapeo de claves camelCase JSON a propiedades PascalCase.

Herramientas relacionadas