JSON a C#

Genera clases o records de C# para System.Text.Json o Newtonsoft.Json

JSON de entrada

Opciones

Modelo
Estilo de tipo
Serialización

Salida C#

Pega JSON o carga un ejemplo para generar código C#.

Qué genera JSON a C#

JSON a C# convierte una respuesta de API o cualquier muestra JSON en tipos de C# en un único archivo con un namespace de ámbito de archivo. El modo Clase escribe propiedades { get; set; }; el modo Record escribe records posicionales y coloca los atributos en las propiedades generadas con [property: ...]. System.Text.Json usa [JsonPropertyName("key")] y Newtonsoft.Json usa [JsonProperty("key")]. Una propiedad nunca recibe el nombre de su tipo contenedor, algo que C# no permite.

Cómo usarlo
  1. 1.Pega JSON, sube o suelta un archivo .json, o carga uno de los ejemplos.
  2. 2.Define el nombre del tipo raíz y un namespace opcional como Company.Project.Models.
  3. 3.Elige el estilo de tipo, el formato de nombres de propiedad y los tipos de referencia anulables.
  4. 4.Elige el serializador y la política de atributos, y luego copia el código o descarga <Root>.cs.
Cómo se infieren los tipos
  • •Se revisan todos los elementos de cada array, no solo el primero, y los objetos del mismo array se combinan.
  • •Una clave que falta en algunos objetos es opcional; una clave que a veces es null es anulable. Ambos casos se distinguen.
  • •1 y 2.5 en la misma posición se amplían a número decimal; las demás mezclas se notifican.
  • •Los arrays vacíos y los valores que solo son null no aportan información de tipo, así que se usa un tipo genérico y una nota explica el motivo.
  • •Correspondencia de tipos: cadena → string, entero → int, long, ulong o decimal según el rango, decimal → double, booleano → bool, array → List<T>, objeto → clase o record, ausente o null → T?, desconocido o mixto → object.
  • •Los miembros required necesitan C# 11 / .NET 7 o posterior; en ese caso System.Text.Json rechaza el JSON al que le falte una clave obligatoria.
Límites y privacidad

Una muestra refleja cómo eran los datos en un momento, no el contrato completo de la API. Revisa los campos opcionales, los tipos genéricos y el tamaño de los números antes de confiar en el código. La entrada se limita a 5 MB y 256 niveles de anidación; a partir de 2 MB, la generación espera al botón Generar. Todo se ejecuta en tu navegador y el JSON nunca se sube. Con System.Text.Json, las propiedades de tipo object contienen un JsonElement tras la deserialización.

CodingTool ya está oficialmente disponible en

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch