Convertidor de JSON a C#
Genera clases C# a partir de una muestra JSON directamente en tu navegador.
Esta herramienta se ejecuta completamente en tu navegador. Tus archivos nunca se suben a un servidor.
using System.Collections.Generic;
public class Root
{
public string Name { get; set; }
public int Age { get; set; }
public bool Active { get; set; }
public List<string> Tags { get; set; }
public Address Address { get; set; }
}
public class Address
{
public string Street { get; set; }
public string Zip { get; set; }
}Qué hace este convertidor
Lee un valor JSON y genera clases C# equivalentes: una clase por cada forma de objeto encontrada en la muestra, cada una con propiedades públicas auto-implementadas.
Cómo usarlo
Pega un objeto, lista o valor primitivo JSON en el editor. Aparece de inmediato una clase `Root`, además de una clase adicional por cada forma de objeto anidada; una raíz que no es un objeto se envuelve en una clase `Root` con una única propiedad `Value`.
Ejemplo
Un objeto con una cadena `name` y un objeto anidado `address` produce una clase `Root` con `public string Name { get; set; }`, junto con una clase `Address` separada para la forma anidada.
Correspondencia de tipos y nomenclatura
Las cadenas se convierten en `string`, los enteros en `int`, los decimales en `double`, los booleanos en `bool` y las listas en `List<ElementType>` (con la directiva `using System.Collections.Generic` añadida automáticamente cuando hace falta). Los nombres de propiedad se convierten a PascalCase a partir de la clave JSON, siguiendo la convención de C# — así, una clave `first_name` produce una propiedad `FirstName`.
Objetos anidados y listas
Cada objeto anidado obtiene su propia clase, generada a partir de su clave. El orden de las clases en la salida no importa en C#, ya que las clases del mismo archivo pueden referenciarse entre sí sin importar el orden de declaración.
Limitaciones
Como los nombres de propiedad se convierten a PascalCase y ya no coinciden con el texto original de la clave JSON, deserializar JSON directamente en estas clases con System.Text.Json o Newtonsoft.Json requiere añadir a mano un atributo [JsonPropertyName]/[JsonProperty] para cualquier clave que no fuera ya PascalCase. Las clases generadas describen solo la muestra JSON proporcionada.
Privacidad
El análisis y la generación de código se ejecutan localmente en tu navegador. El JSON que pegas y el C# generado nunca se suben.
Preguntas Frecuentes
- ¿Estas clases deserializarán mi JSON automáticamente?
- No siempre — los nombres de propiedad se convierten a PascalCase según la convención de C#, así que una clave JSON como first_name necesita un atributo [JsonPropertyName("first_name")] para volver a coincidir durante la deserialización.
- ¿Por qué PascalCase en lugar de la clave JSON original?
- Sigue la convención estándar de nomenclatura de C# para propiedades públicas, que es lo que la mayoría de desarrolladores C# esperan ver y usar en su propio código.
- ¿Se envía mi JSON a un servidor?
- No — el análisis y la generación de C# se realizan completamente en tu navegador.
Herramientas Relacionadas
Convertidor de JSON a TypeScript
Genera interfaces de TypeScript a partir de una muestra JSON directamente en tu navegador.
Convertidor de JSON a Python
Genera dataclasses de Python a partir de una muestra JSON directamente en tu navegador.
Convertidor de JSON a Java
Genera clases POJO de Java a partir de una muestra JSON directamente en tu navegador.