Convertire oggetti in JSON e viceversa in C#
In questa lezione convertirai un oggetto C# in una stringa JSON e ricreerai l'oggetto da quella stringa con System.Text.Json.
Introduzione
JSON è un formato molto diffuso per scambiare dati tra applicazioni, soprattutto tramite API. La libreria System.Text.Json, inclusa in .NET, converte gli oggetti in JSON (serializzazione, serialize) e il JSON di nuovo in oggetti (deserializzazione, deserialize) con prestazioni elevate.
Il metodo JsonSerializer.Serialize converte il record Product in una stringa JSON. Il metodo Deserialize<Product> legge quella stringa e ricrea un oggetto Product. Il risultato può essere null se i dati sono vuoti o nel formato sbagliato, per questo il programma usa l'operatore ?. per accedere a Name e Price. Il risultato stampato è Book: 12.5.
Esempio C# eseguibile
using System;
using System.Text.Json;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var json = JsonSerializer.Serialize(new Product("Book", 12.5m));
var product = JsonSerializer.Deserialize<Product>(json);
Console.WriteLine($"{product?.Name}: {product?.Price}");
}
}
Book: 12.5Esercitati con il debugger
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
- Sommare un oggetto JSON piatto Analizza un oggetto JSON piatto i cui valori sono interi e somma i valori. Facile
- Costruire un oggetto JSON Trasforma chiavi e valori in una stringa di oggetto JSON, facendo l'escape corretto di virgolette e backslash. Facile