# JSON a C# Class

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

> Página canónica: https://elysiatools.com/es/tools/json-to-csharp

- **Categoría:** Development

- **Palabras clave:** json, csharp, c#, dotnet, class, convertir

## Descripción general

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.

## Entradas

- **Entrada JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nombre del tipo raíz** (text): Root
- **Propiedades anulables** (checkbox)

## 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.

## 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 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.

## Herramientas relacionadas

- [Generador de Data URI](https://elysiatools.com/es/tools/data-uri-generator): Convierte archivos en Data URIs (Base64 o porcentaje-codificado) para incrustar imágenes, fuentes y recursos directamente en HTML, CSS o Markdown
- [Convertidor de JSON Schema a Zod](https://elysiatools.com/es/tools/json-schema-to-zod-schema-converter): Convierte definiciones JSON/YAML de JSON Schema en codigo Zod listo para usar en proyectos TypeScript, con objetos anidados, arreglos, enums y reglas comunes de validacion
- [JSON a Go Struct](https://elysiatools.com/es/tools/json-to-go): Convierte datos JSON en definiciones de struct de Go con etiquetas json, campos PascalCase exportados e inferencia de tipos anidados
- [JSON a Java Class](https://elysiatools.com/es/tools/json-to-java): Convierte datos JSON en clases de Java con anotaciones @JsonProperty de Jackson, campos privados, getters y setters
- [JSON a Kotlin Data Class](https://elysiatools.com/es/tools/json-to-kotlin): Convierte datos JSON en data classes de Kotlin con anotaciones @SerializedName, manejo de nulos e inferencia de tipos anidados
- [JSON a Rust Struct](https://elysiatools.com/es/tools/json-to-rust): Convierte datos JSON en structs de Rust con derives serde Serialize/Deserialize, campos snake_case y atributos serde rename
- [JSON a TypeScript](https://elysiatools.com/es/tools/json-to-typescript): Convierte datos JSON en interfaces de TypeScript o alias de tipo, con tipos unión, campos opcionales e inferencia de objetos anidados
- [Convertidor de logs a diagramas de secuencia](https://elysiatools.com/es/tools/log-sequence-diagram-converter): Convierte logs estructurados de servicios en diagramas Mermaid o PlantUML con latencia y errores

## Ejemplos

- [Muestras JSON de Terraform Plan](https://elysiatools.com/es/samples/terraform-plan-json-samples): Archivos Terraform plan JSON para visualizacion de dependencias y revision de cambios, similares a terraform show -json
- [Ejemplos JSON de Chat](https://elysiatools.com/es/samples/chat-transcript-json): Ejemplos JSON para transcripciones de chat multirrol
- [Ejemplos de JSON](https://elysiatools.com/es/samples/json): Ejemplos de formato JSON (JavaScript Object Notation) desde estructuras simples hasta complejas
- [Ejemplos JSON de Texto Enriquecido](https://elysiatools.com/es/samples/rich-media-json): Ejemplos JSON para editores de texto enriquecido (TipTap, Quill, Slate)

## Contenido relacionado

- [Generadores de JSON a codigo tipado](https://elysiatools.com/es/hubs/json-to-typed-code-generators): Genera modelos tipados desde JSON o schemas para TypeScript, Go, Rust, Kotlin, Java, C# y validacion con Zod.
