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.