UTILS.
100% trong trình duyệt
💠

JSON sang lớp C#

Tạo các lớp model C# từ một JSON mẫu cho System.Text.Json hoặc Newtonsoft.Json, với thuộc tính PascalCase và kiểu giá trị nullable.

đầu ra

Về công cụ này

Công cụ JSON sang lớp C# chuyển một JSON mẫu được dán vào thành các lớp model hoặc record C#, để các lập trình viên .NET có thể dựng khung DTO từ một phản hồi API trong vài giây. Nó phân tích JSON, suy luận kiểu C# đệ quy, và phát ra một kiểu cho mỗi đối tượng: chuỗi trở thành string, chuỗi ngày-giờ ISO DateTime, số nguyên int hoặc long, các số khác double, boolean bool, mảng List<T>, và các đối tượng lồng nhau có lớp PascalCase riêng được khai báo trước các cha tham chiếu đến chúng.

Mọi việc phân tích và sinh mã diễn ra cục bộ trong trình duyệt của bạn với JSON.parse và JavaScript thuần — không có gì được tải lên. Các thuộc tính được phát ra dưới dạng auto-property PascalCase, public T Prop { get; set; }. Khi khóa JSON khác với tên thuộc tính PascalCase, công cụ thêm [JsonPropertyName("originalKey")] cho System.Text.Json hoặc [JsonProperty("originalKey")] cho Newtonsoft, và chỉ những chỉ thị using cần thiết mới được bao gồm.

Các thuộc tính kiểu giá trị có thể null ở bất kỳ mẫu nào được làm nullable (int?, double?, bool?, DateTime?), trong khi các kiểu tham chiếu như string và List vốn đã nullable. Công tắc serializer chuyển kiểu attribute và using giữa System.Text.Json (mặc định) và Newtonsoft.Json; công tắc hình dạng phát ra hoặc là các lớp (mặc định) hoặc các record. Sao chép mã hoặc tải xuống dưới dạng tệp .cs.

Câu hỏi thường gặp

Các kiểu JSON được ánh xạ sang C# như thế nào?
string sang string, một ngày-giờ ISO sang DateTime, số nguyên sang int (long ngoài phạm vi int), số không nguyên sang double, boolean sang bool, mảng sang List<T>, và đối tượng sang một lớp hoặc record được đặt tên. Các kiểu giá trị nullable nhận bổ tố ? ở cuối.
System.Text.Json hay Newtonsoft?
Công tắc serializer chọn một trong hai. Nó kiểm soát attribute được dùng khi tên thuộc tính khác khóa JSON — [JsonPropertyName("key")] cho System.Text.Json hoặc [JsonProperty("key")] cho Newtonsoft — và chỉ thị using tương ứng.
Tôi có thể tạo record thay vì lớp không?
Có. Công tắc hình dạng chuyển giữa public class (mặc định) và public record, giữ nguyên các auto-property PascalCase và attribute JSON để bạn có thể chọn kiểu mà codebase của bạn ưa thích.
JSON có được xử lý riêng tư không?
Có. Mọi thứ chạy trong trình duyệt của bạn với JSON.parse và JavaScript thuần; mẫu không bao giờ được tải lên, nên dán các payload API thực là an toàn.

Công cụ khác