.NET

Tuần tự hóa JSON

System.Text.Json, JsonSerializer, custom converters, naming policies, xử lý null

20 câu hỏi phỏng vấn·
Mid-Level
1

Namespace chính cho tuần tự hóa JSON trong .NET hiện đại là gì?

Câu trả lời

System.Text.Json là namespace chính thức cho tuần tự hóa JSON trong .NET Core 3.0+. Nó dần thay thế Newtonsoft.Json (Json.NET) vì hiệu năng cao hơn, được tích hợp vào framework và tối ưu cho các kịch bản hiện đại. Newtonsoft.Json vẫn có sẵn qua NuGet để tương thích ngược hoặc cho các tính năng nâng cao không có trong System.Text.Json.

2

Phương thức nào dùng để tuần tự hóa một đối tượng C# thành chuỗi JSON?

Câu trả lời

JsonSerializer.Serialize chuyển một đối tượng C# thành chuỗi JSON. Phương thức tĩnh này nhận đối tượng cần tuần tự hóa và tùy chọn JsonSerializerOptions để tùy chỉnh hành vi. Serialize trả về một string, trong khi SerializeToUtf8Bytes trả về byte[] để tối ưu hiệu năng bằng cách tránh cấp phát string.

3

Quy ước đặt tên mặc định của System.Text.Json cho các thuộc tính JSON là gì?

Câu trả lời

Theo mặc định, System.Text.Json giữ nguyên chính xác tên thuộc tính C# (PascalCase phân biệt chữ hoa/thường). Nếu một thuộc tính C# có tên UserName, JSON sẽ chứa UserName. Để có camelCase (userName), cần cấu hình JsonSerializerOptions với PropertyNamingPolicy = JsonNamingPolicy.CamelCase. Điều này khác với Newtonsoft.Json vốn dùng camelCase theo mặc định.

4

Làm thế nào để giải tuần tự một chuỗi JSON thành một đối tượng C# có kiểu?

5

Dùng thuộc tính (attribute) nào để bỏ qua một property khi tuần tự hóa JSON?

+17 câu hỏi phỏng vấn

Nắm vững .NET cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí