C#:
Lavorare con JSON
Come fare:
Analisi di una Stringa JSON in un Oggetto
C# fornisce il namespace System.Text.Json
per un’elaborazione JSON efficiente. Per analizzare una stringa JSON in un oggetto C#, definisci una classe che corrisponda alla struttura JSON e utilizza il metodo JsonSerializer.Deserialize
.
using System;
using System.Text.Json;
public class Person
{
public string Nome { get; set; }
public int Eta { get; set; }
}
public class Program
{
public static void Main()
{
string jsonString = "{\"Nome\":\"John\", \"Eta\":30}";
Person persona = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine($"Nome: {persona.Nome}, Eta: {persona.Eta}");
// Output: Nome: John, Eta: 30
}
}
Generazione di una Stringa JSON da un Oggetto
Per convertire un oggetto C# nuovamente in una stringa JSON, usa il metodo JsonSerializer.Serialize
.
using System;
using System.Text.Json;
public class Program
{
public static void Main()
{
Person persona = new Person
{
Nome = "Jane",
Eta = 25
};
string jsonString = JsonSerializer.Serialize(persona);
Console.WriteLine(jsonString);
// Output: {"Nome":"Jane","Eta":25}
}
}
Usando Newtonsoft.Json
Newtonsoft.Json
(o Json.NET) è una popolare libreria di terze parti che offre maggiore flessibilità e opzioni per la serializzazione e deserializzazione JSON.
Per usare Json.NET, devi prima installare il pacchetto Newtonsoft.Json
tramite NuGet. Dopodiché, puoi deserializzare una stringa JSON in questo modo:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
string jsonString = "{\"Nome\":\"Mike\", \"Eta\":22}";
Person persona = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine($"Nome: {persona.Nome}, Eta: {persona.Eta}");
// Output: Nome: Mike, Eta: 22
}
}
Per generare JSON da un oggetto con Json.NET:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
Person persona = new Person
{
Nome = "Ella",
Eta = 28
};
string jsonString = JsonConvert.SerializeObject(persona);
Console.WriteLine(jsonString);
// Output: {"Nome":"Ella","Eta":28}
}
}
Questi frammenti offrono un rapido inizio per gestire il JSON in C#, dimostrando sia le capacità incorporate di System.Text.Json
che le estese funzionalità di Newtonsoft.Json
.