Generador de JSON a clases y records C#

Entrada JSON

Cargando editor…

C# Generado

Configuration

Ingresa datos JSON para generar clases y records C# fuertemente tipados para tus proyectos .NET

Clases, records, DTOs y propiedades con nullable reference types

Cómo convertir JSON a C# – guía paso a paso

Utilice este generador de JSON en C# para crear clases o registros de C# a partir de ejemplos de JSON para las API de ASP.NET Core y aplicaciones .NET.

  1. Paso 1: pega una muestra JSON

    • Pegue un objeto o matriz JSON representativa en el editor de la izquierda.
    • Incluye objetos anidados, matrices y campos que aceptan valores NULL para que los tipos se infieran correctamente.
    • Utilice Import para cargar JSON desde un archivo, URL o datos de muestra.
  2. Paso 2: elige las opciones de clase C#

    • Configure Class Name y Namespace para que coincidan con la estructura de su proyecto.
    • Elija un marco JSON (System.Text.Json o Newtonsoft.Json) si desea atributos.
    • Habilite los tipos de referencia que aceptan valores NULL para que los campos opcionales se asigne a string? y tipos similares.
  3. Paso 3: revisar el código generado

    • Verifique los nombres de los campos, los tipos y cómo se modelan las matrices/objetos.
    • Ajuste opciones como Root Type Name, manejo de nulos y marcos si están disponibles.
    • Si un campo se infiere incorrectamente, modifique su JSON de muestra y vuelva a generarlo.
  4. Paso 4: utiliza los DTO generados en .NET

    • Pegue el resultado en su proyecto y agréguelo a su carpeta API/DTO.
    • Deserialice JSON en el tipo raíz usando el serializador elegido.
    • Mantenga los DTO separados de los modelos de dominio cuando necesite control de versiones y compatibilidad con versiones anteriores.
  5. Paso 5: copiar o descargar

    • Copie el resultado en su proyecto o descárguelo como un archivo.
    • Ejecute su formateador/linter para que coincida con su estilo de código.
    • Agregue bibliotecas de análisis/serialización JSON si su idioma las requiere.

Consejos rápidos

  • Prefiera registros para modelos inmutables cuando sea posible.
  • Utilice [JsonPropertyName]/[JsonProperty] cuando las claves JSON no coincidan con los nombres de C#.
  • Valide la entrada con antelación para evitar objetos parcialmente inicializados.
Salida de ejemplo (simplificada)
// entrada JSON
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated C# DTOs (simplified)
public class Metadata
{
    public string Plan { get; set; } = string.Empty;
}

public class Root
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string? Email { get; set; }
    public bool Active { get; set; }
    public List<string> Roles { get; set; } = new();
    public Metadata Metadata { get; set; } = new();
    public DateTime CreatedAt { get; set; }
    public double Score { get; set; }
    public object? Notes { get; set; }
}

Herramientas JSON y C# relacionadas

Explore más herramientas de esquemas y JSON que funcionan muy bien junto con este generador de JSON a C#.

Preguntas frecuentes

¿Qué características de C# se admiten en este generador JSON a C#?

El generador crea clases C# y records C# 9+ con propiedades, admite atributos de JSON.NET y System.Text.Json y sigue convenciones modernas de nombres en .NET con namespaces adecuados.

¿Puedo generar records y modelos DTO en lugar de solo clases?

¡Sí! Selecciona "Record" como framework para generar records modernos con propiedades inmutables, ideales para DTOs, contratos de API y tipos de valor.

¿Cómo funciona la serialización JSON con los tipos C# generados?

El generador admite atributos de Newtonsoft.Json y System.Text.Json para una serialización y deserialización correctas, con nombres de propiedades personalizados, manejo de null y configuración flexible.

¿Y los nullable reference types y campos JSON opcionales?

El generador incluye anotaciones nullable (por ejemplo, object?) para propiedades que pueden ser null, siguiendo las convenciones modernas de nullable reference types en C# para mapear campos opcionales de forma segura.

¿Puedo usar las clases C# generadas en ASP.NET Core o Blazor?

Sí. El código JSON a C# funciona bien en controladores ASP.NET Core, minimal APIs, componentes Blazor y cualquier aplicación .NET que necesite modelos tipados para payloads JSON.

¿Este generador de JSON a C# es gratis?

Sí, el generador JSON a C# de JSON Swiss es gratis en el navegador. Puedes pegar JSON, configurar opciones y generar código C# sin instalar herramientas ni extensiones.

Generador de JSON a clases y records C# | JSONSwiss