Cách sử dụng JSON sang kiểu dữ liệu
- 1
Dán mẫu JSON
Dán một phản hồi, một mảng bản ghi hoặc nhiều phản hồi liên tiếp; mẫu có sẵn là hai người dùng đã được gộp.
- 2
Chọn ngôn ngữ
Chọn TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift hoặc Rust, rồi chọn các tùy chọn kiểu cho ngôn ngữ đó.
- 3
Đặt tên kiểu gốc
Nhập tên của kiểu ngoài cùng, ví dụ User hoặc OrderResponse.
- 4
Tạo và sao chép
Nhấn Tạo kiểu, sau đó sao chép mã hoặc tải xuống; khi bạn chỉnh sửa, mã sẽ tự tạo lại.
Giới hạn và Pro
Miễn phí, không cần đăng ký: 9 ngôn ngữ đầu ra với 3 kiểu Python, gộp số mẫu tùy ý và tệp đến 20 MB, quá trình tạo dừng sau 30 giây.
Pro gỡ quảng cáo; trình tạo giống nhau ở mọi gói. Xem Pro
Về JSON sang kiểu dữ liệu
Viết kiểu dữ liệu bằng tay cho phản hồi API vừa chậm vừa dễ sai, nhất là khi dữ liệu lồng nhau ba cấp. Dán một hoặc nhiều mẫu JSON, trình tạo sẽ suy ra cấu trúc và viết sẵn định nghĩa để bạn dán vào mã, với chín lựa chọn: interface hoặc type alias của TypeScript, TypeScript kèm schema Zod để kiểm tra dữ liệu khi chạy, struct Go có json tag, dataclass, TypedDict hoặc mô hình Pydantic v2 của Python, record Java có chú thích Jackson, lớp C# cho System.Text.Json, data class Kotlin cho kotlinx.serialization, struct Codable của Swift và struct Rust cho serde.
Một mẫu hiếm khi có đủ mọi trường, nên trình tạo gộp tất cả các mẫu bạn đưa vào. Bạn có thể dán nhiều tài liệu liên tiếp, dùng JSON Lines hoặc một mảng đối tượng: khóa thiếu ở một số đối tượng sẽ thành tùy chọn, khóa đôi khi là null sẽ cho phép null, số nguyên đôi khi là số thập phân sẽ thành float, còn giá trị thực sự lẫn lộn sẽ thành union hoặc kiểu JSON động của ngôn ngữ đó. Đối tượng lồng nhau có kiểu riêng với tên riêng – orders thành Order, addresses thành Address – và các cấu trúc giống hệt nhau chỉ được tạo một lần rồi dùng lại. Đối tượng có khóa là số, UUID hoặc ngày sẽ được chuyển thành map.
Tên trường được đổi theo quy ước của từng ngôn ngữ, còn khóa JSON khác đi, như first-name hay class, được ánh xạ ngược bằng chú thích, alias hoặc CodingKeys phù hợp. Chú thích và dấu phẩy thừa ở cuối trong mẫu vẫn được chấp nhận.
Kết quả chỉ mô tả các mẫu bạn đưa vào; trình tạo không thể biết những trường hay giá trị mà mẫu không có, nên hãy đối chiếu với tài liệu API trước khi dùng.
Quyền riêng tư
Mẫu được phân tích và mã được tạo bởi một Web Worker ngay trong tab này, nên phản hồi API chứa dữ liệu cá nhân hoặc nội bộ không bao giờ được tải lên. Tùy chọn ngôn ngữ và cách đặt tên được lưu trong bộ nhớ cục bộ; JSON bạn dán thì không được lưu lại.
Tính năng
Gộp nhiều mẫu
Khóa bị thiếu thành tùy chọn và giá trị null cho phép null, tính trên mọi mẫu bạn dán.
9 ngôn ngữ
TypeScript, Zod, Go, Python, Java, C#, Kotlin, Swift và Rust với cách đặt tên đúng chuẩn từng ngôn ngữ.
Có sẵn ánh xạ khóa
json tag, alias, @SerialName, @JsonProperty và CodingKeys giữ nguyên tên JSON gốc.