JSON a C# Class

Convierte datos JSON en clases de C# con propiedades PascalCase, atributos JsonPropertyName e inferencia de tipos anidados

Datos clave

Categoría
Desarrollo y Web
Tipos de entrada
textarea, text, checkbox
Tipo de salida
text
Cobertura de muestras
4
API disponible
Yes

Resumen

Esta herramienta convierte estructuras de datos JSON en clases de C# fuertemente tipadas de forma instantánea. Genera automáticamente propiedades en formato PascalCase, incluye atributos JsonPropertyName para la serialización de System.Text.Json e infiere tipos de datos anidados y colecciones a partir de tu JSON de entrada.

Cuándo usarlo

  • Al integrar una API externa que devuelve respuestas JSON y necesitas definir rápidamente los modelos de datos (DTO) en tu proyecto .NET.
  • Cuando quieres evitar la escritura manual de clases C# repetitivas a partir de payloads JSON complejos o con múltiples niveles de anidamiento.
  • Al configurar la deserialización en C# y requerir mapeos precisos mediante atributos JsonPropertyName y tipos anulables.

Cómo funciona

  • Pega el fragmento de código JSON en el campo de entrada de texto.
  • Define el nombre de la clase raíz y selecciona si deseas que las propiedades se generen como anulables.
  • La herramienta procesa el JSON, infiere los tipos de datos (cadenas, números, booleanos, arreglos y objetos) y genera el código C# correspondiente listo para copiar.

Casos de uso

Creación rápida de Data Transfer Objects (DTO) para clientes HTTP en aplicaciones ASP.NET Core.
Modelado de archivos de configuración JSON complejos en clases de configuración de C#.
Generación de modelos de datos para pruebas unitarias a partir de payloads de respuesta guardados en formato JSON.

Ejemplos

1. Modelado de respuesta de API de usuarios

Desarrollador Backend
Contexto
Está integrando un servicio de autenticación de terceros que devuelve un JSON con datos del perfil del usuario, incluyendo dirección y roles.
Problema
Crear manualmente las clases C# para mapear la respuesta JSON consume tiempo y puede generar errores de tipado.
Cómo usarlo
Pega el JSON de respuesta en el cuadro de texto, asigna 'UserProfile' como nombre de la clase raíz y activa la opción de propiedades anulables.
Configuración de ejemplo
jsonInput: {
  "id": 101,
  "username": "johndoe",
  "roles": ["editor"],
  "profile": {
    "firstName": "John",
    "lastName": "Doe"
  }
}, rootName: UserProfile, optionalFields: true
Resultado
Se generan las clases C# 'UserProfile' y 'Profile' con propiedades PascalCase, anotadas con [JsonPropertyName("...")] y tipos anulables como string?.

2. Conversión de configuración de aplicación

Ingeniero de Software
Contexto
Necesita leer un archivo de configuración local appsettings.json en una clase de C# para usar el patrón de opciones de .NET.
Problema
Escribir la estructura de clases para una configuración con múltiples niveles de anidamiento.
Cómo usarlo
Introduce el JSON de configuración, establece el nombre raíz como 'AppConfig' y genera el código sin propiedades anulables.
Configuración de ejemplo
jsonInput: {
  "version": "1.0",
  "logging": {
    "level": "Debug",
    "saveToFile": true
  }
}, rootName: AppConfig, optionalFields: false
Resultado
Obtiene las clases 'AppConfig' y 'Logging' estructuradas con tipos estrictos listos para enlazar con Configuration.Get<AppConfig>().

Probar con muestras

json

Hubs relacionados

Preguntas frecuentes

¿Qué biblioteca de serialización utiliza para los atributos?

Utiliza los atributos JsonPropertyName pertenecientes al espacio de nombres System.Text.Json de .NET.

¿Cómo maneja los objetos anidados en el JSON?

Crea clases secundarias independientes para cada objeto anidado y las referencia como propiedades dentro de la clase principal.

¿Qué hace la opción de propiedades anulables?

Agrega el operador ? a los tipos de C# (por ejemplo, string? o int?) para permitir valores nulos en la deserialización.

¿Soporta arreglos y listas en el JSON?

Sí, detecta arreglos de elementos y los convierte en propiedades de tipo List<T> o arreglos equivalentes en C#.

¿Es necesario registrarse para usar el convertidor?

No, la conversión se realiza de forma directa y gratuita en el navegador.

Documentación de la API

Punto final de la solicitud

POST /es/api/tools/json-to-csharp

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
jsonInput textarea -
rootName text No -
optionalFields checkbox No -

Formato de respuesta

{
  "result": "Processed text content",
  "error": "Error message (optional)",
  "message": "Notification message (optional)",
  "metadata": {
    "key": "value"
  }
}
Texto: Texto

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-json-to-csharp": {
      "name": "json-to-csharp",
      "description": "Convierte datos JSON en clases de C# con propiedades PascalCase, atributos JsonPropertyName e inferencia de tipos anidados",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=json-to-csharp",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]