Chuyển đổi đối tượng sang JSON và ngược lại trong C#
Trong bài học này, bạn sẽ chuyển một đối tượng C# thành chuỗi JSON và tạo lại đối tượng từ chuỗi đó bằng System.Text.Json.
Giới thiệu
JSON là định dạng phổ biến để trao đổi dữ liệu giữa các ứng dụng, đặc biệt là qua API. Thư viện System.Text.Json có sẵn trong .NET giúp chuyển đổi đối tượng sang JSON (serialize) và từ JSON trở lại đối tượng (deserialize) với hiệu năng cao.
Phương thức JsonSerializer.Serialize chuyển record Product thành chuỗi JSON. Phương thức Deserialize<Product> đọc chuỗi đó và tạo lại một đối tượng Product. Kết quả có thể là null nếu dữ liệu rỗng hoặc sai định dạng, nên chương trình dùng toán tử ?. khi truy cập Name và Price. Kết quả in ra là Book: 12.5.
Ví dụ C# chạy đượ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.5Luyện tập với trình gỡ lỗi
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
- Cộng các số trong đối tượng JSON phẳng Phân tích một đối tượng JSON phẳng có các giá trị là số nguyên và cộng các giá trị đó lại. Dễ
- Tạo đối tượng JSON Biến các khóa và giá trị thành một chuỗi đối tượng JSON, thoát dấu ngoặc kép và dấu gạch chéo ngược đúng cách. Dễ