UTILS.
100% trong trình duyệt

JSON sang Java POJO

Tạo các lớp Java POJO từ một JSON mẫu, với chú thích Jackson hoặc Gson, getter và setter được sinh ra, và kiểu bao (boxed) cho các trường nullable.

đầu ra

Về công cụ này

Công cụ JSON sang Java POJO chuyển một JSON mẫu được dán vào thành các lớp model Java, theo cách jsonschema2pojo làm nhưng ngay lập tức trong trình duyệt của bạn. Nó phân tích JSON, suy luận kiểu Java đệ quy, và phát ra một lớp cho mỗi đối tượng: chuỗi trở thành String, số nguyên int hoặc long, các số khác double, boolean boolean, 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 dùng chúng.

Mọi việc phân tích và sinh mã chạy cục bộ với JSON.parse và JavaScript thuần, nên payload của bạn không bao giờ rời khỏi trang. Các trường được đưa về camelCase; khi khóa JSON chưa ở dạng camelCase, công cụ thêm @JsonProperty("originalKey") (Jackson) hoặc @SerializedName("originalKey") (Gson), hoặc không thêm gì ở chế độ trường thuần. Các trường có thể null ở bất kỳ mẫu nào dùng kiểu bao (Integer, Long, Double, Boolean) để null biểu diễn được. Các lớp Jackson mang @JsonIgnoreProperties(ignoreUnknown = true) để tương thích tiến.

Công tắc kiểu chú thích chọn Jackson (mặc định), Gson, hoặc không chú thích, và chỉ những import thực sự được dùng mới được bao gồm. Công tắc accessor chọn giữa các phương thức getX()/setX() được sinh ra trên trường private (mặc định) hoặc trường public thuần. Sao chép kết quả hoặc tải xuống dưới dạng tệp .java để thả thẳng vào dự án của bạn.

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

Những kiểu Java nào được sinh ra?
string sang String, số nguyên sang int (long khi một giá trị vượt phạm vi int), số không nguyên sang double, boolean sang boolean, mảng sang List<T>, và đối tượng sang một lớp được đặt tên. Các trường có thể null dùng kiểu bao — Integer, Long, Double, Boolean.
Chú thích Jackson hay Gson?
Công tắc chú thích chọn Jackson (@JsonProperty, cộng thêm @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName), hoặc không có. Chú thích chỉ được thêm khi tên trường camelCase khác với khóa JSON gốc.
Tôi có nhận được getter và setter không?
Mặc định mỗi trường private nhận một getX() và setX() được sinh ra. Chuyển công tắc accessor sang trường public thuần nếu bạn thích các trường trần kiểu record mà không có phương thức accessor.
JSON của tôi có được gửi đi đâu không?
Không. JSON được phân tích và các lớp được sinh ra hoàn toàn trong trình duyệt của bạn với JavaScript thuần. Không có gì được tải lên, nên bạn có thể dán các phản hồi API nội bộ một cách an toàn.

Công cụ khác