UTILS.
ทำงานในเบราว์เซอร์ 100%

JSON เป็น Java POJO

สร้างคลาส Java POJO จาก JSON ตัวอย่าง พร้อม annotation ของ Jackson หรือ Gson, getter และ setter ที่สร้างให้ และชนิด boxed สำหรับฟิลด์ nullable

ผลลัพธ์

เกี่ยวกับเครื่องมือนี้

เครื่องมือ JSON เป็น Java POJO แปลง JSON ตัวอย่างที่วางเข้ามาให้เป็นคลาส model ของ Java แบบเดียวกับที่ jsonschema2pojo ทำ แต่ทันทีในเบราว์เซอร์ของคุณ มันแยกวิเคราะห์ JSON อนุมานชนิด Java แบบเรียกซ้ำ และสร้างหนึ่งคลาสต่อหนึ่ง object: string กลายเป็น String, จำนวนเต็มเป็น int หรือ long, ตัวเลขอื่น ๆ เป็น double, boolean เป็น boolean, อาร์เรย์เป็น List<T>, และ object ซ้อนกลายเป็นคลาส PascalCase ของตัวเองที่ประกาศก่อนตัวแม่ที่ใช้มัน

การแยกวิเคราะห์และการสร้างทั้งหมดทำงานภายในเครื่องด้วย JSON.parse และ JavaScript ธรรมดา ดังนั้น payload ของคุณจะไม่ออกจากหน้าเว็บ ฟิลด์ถูกทำเป็น camelCase; เมื่อคีย์ JSON ยังไม่ใช่ camelCase เครื่องมือจะเพิ่ม @JsonProperty("originalKey") (Jackson) หรือ @SerializedName("originalKey") (Gson) หรือไม่มีอะไรในโหมดฟิลด์ธรรมดา ฟิลด์ที่อาจเป็น null ในตัวอย่างใดก็ได้จะใช้ชนิด wrapper แบบ boxed (Integer, Long, Double, Boolean) เพื่อให้แทน null ได้ คลาส Jackson มี @JsonIgnoreProperties(ignoreUnknown = true) เพื่อความเข้ากันได้ในอนาคต

ตัวสลับสไตล์ annotation เลือก Jackson (ค่าเริ่มต้น), Gson หรือไม่มี annotation และรวมเฉพาะ import ที่ใช้จริง ตัวสลับ accessor เลือกระหว่างเมธอด getX()/setX() ที่สร้างให้บนฟิลด์ private (ค่าเริ่มต้น) หรือฟิลด์ public ธรรมดา คัดลอกผลลัพธ์หรือดาวน์โหลดเป็นไฟล์ .java เพื่อนำไปวางในโปรเจกต์ของคุณได้ทันที

คำถามที่พบบ่อย

ชนิด Java ใดที่ถูกสร้าง?
string เป็น String, จำนวนเต็มเป็น int (long เมื่อค่าเกินช่วง int), ตัวเลขที่ไม่ใช่จำนวนเต็มเป็น double, boolean เป็น boolean, อาร์เรย์เป็น List<T>, และ object เป็นคลาสที่มีชื่อ ฟิลด์ที่อาจเป็น null ใช้ชนิด boxed — Integer, Long, Double, Boolean
annotation ของ Jackson หรือ Gson?
ตัวสลับ annotation เลือก Jackson (@JsonProperty พร้อม @JsonIgnoreProperties(ignoreUnknown = true)), Gson (@SerializedName) หรือไม่มี annotation ถูกเพิ่มเฉพาะเมื่อชื่อฟิลด์ camelCase ต่างจากคีย์ JSON เดิม
ฉันได้ getter และ setter ไหม?
โดยค่าเริ่มต้นแต่ละฟิลด์ private จะได้ getX() และ setX() ที่สร้างให้ สลับตัวสลับ accessor เป็นฟิลด์ public ธรรมดาหากคุณต้องการฟิลด์เปล่าแบบ records โดยไม่มีเมธอด accessor
JSON ของฉันถูกส่งที่ไหนไหม?
ไม่ JSON ถูกแยกวิเคราะห์และคลาสถูกสร้างทั้งหมดในเบราว์เซอร์ของคุณด้วย JavaScript ธรรมดา ไม่มีอะไรถูกอัปโหลด คุณจึงวางการตอบกลับ API ภายในได้อย่างปลอดภัย

เครื่องมือเพิ่มเติม