Bài tập C#

Chuyển đổi JSON hai chiều trong C#

Trong bài học này, bạn sẽ chuyển một record thành JSON rồi đọc ngược lại để kiểm tra dữ liệu được giữ nguyên.

Giới thiệu

Chuyển đối tượng sang JSON rồi đọc ngược lại (round trip) là cách thực tế để kiểm tra mô hình dữ liệu của bạn có được lưu và khôi phục đúng hay không. Điều này đặc biệt quan trọng khi lưu thiết lập của người dùng hoặc trao đổi dữ liệu qua API.

Serialize chuyển record Settings thành chuỗi JSON. Khi Deserialize, System.Text.Json dựa vào tham số của hàm khởi tạo và các thuộc tính công khai để tạo lại record. Kết quả có thể là null nên chương trình dùng toán tử ?. và in ra dark: 16, đúng như dữ liệu ban đầu.

Ví dụ C# chạy được

C#
Chạy code →
Program.cs
using System;
using System.Text.Json;
record Settings(string Theme, int FontSize);
class Program
{
    static void Main()
    {
        string json = JsonSerializer.Serialize(new Settings("dark", 16));
        Settings? settings = JsonSerializer.Deserialize<Settings>(json);
        Console.WriteLine($"{settings?.Theme}: {settings?.FontSize}");
    }
}
Kết quả khi chạy
dark: 16

Luyện tập với trình gỡ lỗi

Đặt breakpoint ở một phép gán hoặc điều kiện quan trọng, bấm Debug và xem giá trị các biến cục bộ (local variable) trước khi bước sang dòng tiếp theo.

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.

Tất cả thử thách