Qué hace
Pegue un documento JSON (una respuesta de API, un archivo de configuración, la carga de un webhook) y obtenga tipos de C# que puede pegar directamente en un proyecto .NET. La salida se actualiza mientras escribe.
Por qué es mejor que «Paste JSON as Classes»
- Examina todos los elementos del array, no solo el primero. Una propiedad que falta en algunos elementos, o que es
nullen algunos, pasa a ser anulable (int?,string?), y un número que es1en un elemento y2.5en otro pasa a serdouble. - Inferencia de tipos real:
int, olongcuando un valor no cabe;doubleodecimalpara fracciones;bool;Guid;DateTimeOffsetpara marcas de tiempo con desfase oZ,DateTimesin él,DateOnlypara fechas simples. Los valores mixtos se convierten enJsonElement. - Las estructuras idénticas se generan una sola vez.
shippingAddressybillingAddresscon las mismas propiedades comparten un único tipoAddress. - Los objetos indexados por ID (
{"1": {...}, "2": {...}}) se convierten enDictionary<string, T>. - Identificadores siempre válidos:
user_idse convierte enUserId, los nombres que empiezan por un dígito reciben el prefijo_, las palabras clave de C# se escapan con@y los conflictos con el nombre de la clase u otras propiedades se renombran. - Atributos de System.Text.Json solo donde hacen falta. «Valores predeterminados web» supone ASP.NET Core /
JsonSerializerOptions.Web(camelCase); «difiere exactamente» cubre también elJsonSerializerpredeterminado, que distingue mayúsculas de minúsculas. - C# moderno: records con
inito clases conset, tipos de referencia anulables con inicializadores seguros, miembrosrequiredopcionales y espacio de nombres con ámbito de archivo.
Cómo usarlo
Pegue JSON o suelte un archivo .json, indique el nombre del tipo raíz y el espacio de nombres, y copie o descargue el archivo .cs. La línea de estado muestra la llamada JsonSerializer.Deserialize<T> que debe usar.
Privacidad
La conversión se ejecuta por completo en su navegador. Su JSON nunca se sube; la última entrada se guarda en el almacenamiento local.