C#:
Praca z JSON
Jak to zrobić:
Parsowanie ciągu JSON do obiektu
C# dostarcza przestrzeń nazw System.Text.Json
dla efektywnego przetwarzania JSON. Aby przeprowadzić parsowanie ciągu JSON do obiektu C#, należy zdefiniować klasę, która pasuje do struktury JSON i użyć metody JsonSerializer.Deserialize
.
using System;
using System.Text.Json;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
string jsonString = "{\"Name\":\"John\", \"Age\":30}";
Person person = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
// Wynik: Name: John, Age: 30
}
}
Generowanie JSON z obiektu
Aby przekonwertować obiekt C# z powrotem na ciąg JSON, użyj metody JsonSerializer.Serialize
.
using System;
using System.Text.Json;
public class Program
{
public static void Main()
{
Person person = new Person
{
Name = "Jane",
Age = 25
};
string jsonString = JsonSerializer.Serialize(person);
Console.WriteLine(jsonString);
// Wynik: {"Name":"Jane","Age":25}
}
}
Użycie Newtonsoft.Json
Newtonsoft.Json
(lub Json.NET) to popularna biblioteka stron trzecich oferująca większą elastyczność i opcje dla serializacji oraz deserializacji JSON.
Aby użyć Json.NET, musisz najpierw zainstalować pakiet Newtonsoft.Json
przez NuGet. Następnie można deserializować ciąg JSON w następujący sposób:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
string jsonString = "{\"Name\":\"Mike\", \"Age\":22}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");
// Wynik: Name: Mike, Age: 22
}
}
Aby generować JSON z obiektu przy użyciu Json.NET:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
Person person = new Person
{
Name = "Ella",
Age = 28
};
string jsonString = JsonConvert.SerializeObject(person);
Console.WriteLine(jsonString);
// Wynik: {"Name":"Ella","Age":28}
}
}
Te fragmenty kodu oferują szybki start w obsłudze JSON w C#, demonstrując zarówno wbudowane możliwości System.Text.Json
, jak i rozszerzone funkcjonalności Newtonsoft.Json
.