
Tuần tự hóa JSON
System.Text.Json, JsonSerializer, custom converters, naming policies, xử lý null
1Namespace chính cho tuần tự hóa JSON trong .NET hiện đại là gì?
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.
2Phương thức nào dùng để tuần tự hóa một đối tượng C# thành chuỗi JSON?
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.
3Quy ước đặt tên mặc định của System.Text.Json cho các thuộc tính JSON là gì?
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.
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?
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
Các chủ đề phỏng vấn .NET khác
Cơ bản về C#
LINQ & Delegates
Kiến thức cốt lõi ngôn ngữ C#
Kiến thức cơ bản về ASP.NET Core
Vòng đời request trong ASP.NET Core
Configuration & Settings
Vòng đời ứng dụng
Dependency Injection
Entity Framework Core
Minimal APIs
Phát triển Web API
Async trong ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Entity Framework Core nâng cao
Các tính năng nâng cao của C#
Clean Architecture
Logging, Monitoring & Observability
Kiểm thử đơn vị & xUnit
Kiểm thử tích hợp
Docker & Containerization
Quản lý gói NuGet
Memory Management & GC
Lập trình phản ứng
Async/await & Mẫu thiết kế
.NET Design Patterns
Tối ưu hóa hiệu năng
Bảo mật & Best Practices
SignalR & Thời gian thực
Kiến trúc Microservices
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í