Преобразование объектов в JSON и обратно в C#
В этом уроке вы превратите объект C# в строку JSON, а затем снова создадите объект из этой строки с помощью System.Text.Json.
Введение
JSON - очень распространённый формат обмена данными между приложениями, особенно через API. Библиотека System.Text.Json, входящая в .NET, очень быстро превращает объекты в JSON (сериализация, serialize) и JSON в объекты (десериализация, deserialize).
Метод JsonSerializer.Serialize превращает запись Product в строку JSON. Метод Deserialize<Product> читает эту строку и снова создаёт объект Product. Результат может быть null, если данные пусты или повреждены, поэтому программа обращается к Name и Price через оператор ?.. На экран выводится Book: 12.5.
Пример на C#, который можно запустить
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.5Практика с отладчиком
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Сумма плоского объекта JSON Разберите плоский JSON-объект, чьи значения — целые числа, и сложите эти значения. Легко
- Собрать объект JSON Преобразуйте ключи и значения в строку JSON-объекта, правильно экранируя кавычки и обратные слэши. Легко