- POCO (Plain Old CLR Object)
- Viết tắt của "Đối tượng CLR thông thường" trong C#/.NET, các ràng buộc là: hàm tạo mặc định công khai + trường private + thuộc tính công khai { get; set; } + không phụ thuộc khung. Những gì công cụ này tạo ra là POCO tiêu chuẩn.
- record
- Kiểu đối tượng truyền dữ liệu bất biến được giới thiệu trong C# 9+, sử dụng đẳng thức giá trị thay vì đẳng thức tham chiếu. Sau khi tạo trong công cụ này có thể thủ công thay đổi thành record, phù hợp cho các kịch bản như DTO, mô hình phản hồi API, cấu hình bất biến.
- [JsonProperty]
- Thuộc tính ánh xạ trường của Newtonsoft.Json. Công cụ này mặc định thêm [JsonProperty("khóa gốc")] cho mỗi trường, đảm bảo tên trường PascalCase có thể giải tuần tự hóa chính xác JSON snake_case.
- Newtonsoft.Json
- Còn gọi là Json.NET, là thư viện JSON phổ biến nhất trong hệ sinh thái .NET. Có hệ sinh thái phong phú nhất và khả năng tương thích tốt nhất, được hỗ trợ bởi hầu hết các dự án .NET. Được sử dụng mặc định trước ASP.NET Core 3.0, sau 3.0 được thay thế bằng System.Text.Json, nhưng vẫn có thể tiếp tục tương thích thông qua gói NuGet.
- System.Text.Json
- Thư viện JSON hiệu năng cao được tích hợp sẵn trong .NET Core 3.0+. Khởi động nhanh, chiếm dụng bộ nhớ thấp, thân thiện với AOT, bao gồm [JsonPropertyName] (tương ứng với [JsonProperty] của Newtonsoft) và chính sách đặt tên tùy chỉnh JsonNamingPolicy.
- Nullable<T>
- Kiểu trong C# chỉ định rằng kiểu giá trị có thể là null (ví dụ long? / bool?). Công cụ này tự động suy luận trường null trong JSON thành Nullable<T> để tránh ngoại lệ tham chiếu null tại thời gian biên dịch.
- List<T>
- Kiểu danh sách generic trong khung tập hợp .NET. Công cụ này tự động chuyển đổi mảng JSON thành List<T>, T được suy luận tự động từ phần tử đầu tiên của mảng (ví dụ ["a"] → List<string>).
- namespace
- Từ khóa không gian tên trong C# để tổ chức các lớp, tương tự như package trong Java. Mã do công cụ này tạo ra mặc định không có namespace, có thể thêm thủ công (ví dụ namespace MyApp.Models).
- ASP.NET Core
- Khung web nguồn mở đa nền tảng của Microsoft. Các lớp POCO do công cụ này tạo ra có thể được sử dụng trực tiếp trong các kịch bản như ràng buộc mô hình ASP.NET Core Controller [FromBody], Minimal API, tham số thành phần Blazor.
- Unity
- Công cụ game phổ biến nhất thế giới, ngôn ngữ script là C#. Các lớp POCO do công cụ này tạo ra có thể được sử dụng để phân tích phản hồi API mạng Unity, mô hình hóa dữ liệu cấu hình ScriptableObject.
- Snake_case → PascalCase
- Chuyển đổi quy tắc đặt tên trường. Chuyển đổi đặt tên snake_case (ví dụ user_name, created_at) thành đặt tên PascalCase (ví dụ UserName, CreatedAt), tuân thủ quy phạm đặt tên chính thức của .NET.
- quicktype-core
- Thư viện tạo kiểu JSON đa ngôn ngữ nguồn mở (dự án quicktype) mà công cụ này phụ thuộc cơ bản, hỗ trợ hơn mười ngôn ngữ bao gồm C#, Java, TypeScript, Rust, Go, Swift, v.v., thực thi trên trình duyệt dựa trên TypeScript + WebAssembly.
- .NET MAUI
- Khung UI đa nền tảng của Microsoft (.NET Multi-platform App UI), mã C# có thể chia sẻ trên iOS/Android/Windows/macOS. POCO do công cụ này tạo ra phù hợp làm Model cho ràng buộc dữ liệu XAML trong MAUI.
- Blazor
- Khung SPA dựa trên WebAssembly của Microsoft, có hai chế độ Server và WebAssembly. Các lớp C# do công cụ này tạo ra có thể được sử dụng cho tham số thành phần Blazor, mô hình phản hồi API kiểu mạnh, nâng cao hiệu quả phát triển toàn ngăn xếp một ngôn ngữ.
- HttpClient.GetFromJsonAsync
- Phương thức mở rộng .NET 5+/System.Net.Http.Json, hoàn thành HTTP GET + giải tuần tự hóa JSON trong một dòng. Kết hợp với POCO do công cụ này tạo ra có thể đơn giản hóa đáng kể mã client API HTTP.
- JsonNamingPolicy
- Lớp trong System.Text.Json kiểm soát quy tắc ánh xạ giữa tên trường JSON và tên thuộc tính C# (ví dụ CamelCase, SnakeCaseLower). Newtonsoft.Json thực hiện thông qua chú thích [JsonProperty] hoặc ContractResolver.
- IOptions<T>
- Giao diện cốt lõi của mẫu Options trong .NET, liên kết cấu trúc con appsettings.json với lớp kiểu mạnh. POCO do công cụ này tạo ra có thể kết hợp với IConfiguration.Bind trực tiếp làm triển khai IOptions<T>.