Deserializar en C#
De JSON a un record tipado, sin distinguir mayúsculas.
using System.Text.Json;
var json = """{"name": "typestar", "port": 8080, "tags": ["cli", "web"]}""";
var opts = new JsonSerializerOptions { PropertyNameCaseInsensitive = true };
var server = JsonSerializer.Deserialize<Server>(json, opts);
Console.WriteLine($"{server.Name} on :{server.Port}");
Console.WriteLine(string.Join(",", server.Tags));
// el constructor del record es el destino de la deserialización
record Server(string Name, int Port, string[] Tags);
Cómo funciona
Deserialize<Server>mapea los campos al constructor del record.PropertyNameCaseInsensitivetiende el puente de camelCase a PascalCase.- El literal de cadena cruda mantiene el JSON legible en el código fuente.
Palabras clave y builtins usados aquí
intnewrecordstringtrueusingvar
El intento, en números
- Líneas
- 12
- Caracteres a escribir
- 465
- Tokens
- 87
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 61 segundos.
Paso 2 de 3 en JSON; paso 5 de 17 en La biblioteca de .NET.