JSON เป็น Kotlin

สร้าง data class ของ Kotlin จาก JSON สำหรับ kotlinx.serialization, Gson, Moshi หรือ Jackson

ข้อมูลเข้า JSON

ตัวเลือก

โมเดล
ชื่อพร็อพเพอร์ตี
พร็อพเพอร์ตีที่เป็น null ได้
การซีเรียลไลซ์
ขั้นสูง
การจัดวางคลาส

ผลลัพธ์ Kotlin

วาง JSON หรือโหลดตัวอย่างเพื่อสร้างโค้ด Kotlin

JSON เป็น Kotlin สร้างอะไร

JSON เป็น Kotlin แปลงการตอบกลับของ API หรือตัวอย่าง JSON ใดก็ได้ให้เป็น data class ของ Kotlin สำหรับ kotlinx.serialization, Gson, Moshi, Jackson หรือแบบไม่ใช้ไลบรารี เมื่อชื่อพร็อพเพอร์ตีต่างจากคีย์ เช่น user_name → userName แอนโนเทชันของไลบรารีที่เลือก (@SerialName, @SerializedName, @Json หรือ @JsonProperty) จะแมปกลับไปยัง JSON คีย์เวิร์ดอย่าง class, object, when หรือ fun จะเขียนใน backtick ส่วนคีย์ที่ไม่ใช่ชื่อที่ถูกต้อง เช่น 123abc หรือ user-name จะถูกเปลี่ยนชื่อพร้อมการแมป หรือคงไว้ใน backtick ตามการตั้งค่าการตั้งชื่อ

วิธีใช้งาน
  1. 1.วาง JSON อัปโหลดหรือลากไฟล์ .json มาวาง หรือโหลดตัวอย่าง
  2. 2.ตั้งชื่อชนิดราก รูปแบบชื่อพร็อพเพอร์ตี และการเป็น null ได้
  3. 3.เลือกไลบรารีซีเรียลไลซ์ และเปิดค่าเริ่มต้นหากต้องการให้ทุกคลาสมีคอนสตรักเตอร์แบบไม่มีอาร์กิวเมนต์
  4. 4.ในส่วนขั้นสูง ตั้งค่าแพ็กเกจหรือซ้อนคลาสไว้ในคลาสราก
  5. 5.อ่านหมายเหตุใต้ผลลัพธ์ แล้วคัดลอกโค้ดหรือดาวน์โหลดไฟล์ .kt
การอนุมานชนิดข้อมูล
  • •ตรวจทุกรายการในอาร์เรย์ ไม่ใช่แค่รายการแรก และรวมอ็อบเจกต์ในอาร์เรย์เดียวกันเข้าด้วยกัน
  • •คีย์ที่ไม่มีในบางอ็อบเจกต์เป็นตัวเลือกและกลายเป็น T? = null ส่วนคีย์ที่บางครั้งเป็น null จะกลายเป็น T? ทั้งสองกรณีแยกจากกัน ดังนั้น {"id": 1, "name": "A"} และ {"id": 2} จะได้ val name: String? = null
  • •จำนวนเต็มที่อยู่ใน 32 บิตเป็น Int ที่ใหญ่กว่าเป็น Long และที่เกิน 64 บิตเป็น BigInteger (JsonPrimitive เมื่อใช้ kotlinx.serialization) ค่าที่เกิน ±2^53 จะมีหมายเหตุ เพราะไคลเอนต์ JavaScript อาจปัดเศษ
  • •1 และ 2.5 ในตำแหน่งเดียวกันจะขยายเป็น Double ส่วนการปะปนแบบอื่นจะมีการแจ้ง
  • •การแมปชนิด: สตริง → String, ทศนิยม → Double, บูลีน → Boolean, อาร์เรย์ → List<T>, อ็อบเจกต์ → data class, อ็อบเจกต์ว่าง → class, ไม่ทราบชนิดหรือปะปน → Any? (JsonElement? เมื่อใช้ kotlinx.serialization)
ข้อจำกัดและความเป็นส่วนตัว

ตัวอย่างแสดงเพียงหน้าตาของข้อมูลในครั้งหนึ่ง ไม่ใช่สัญญา API ทั้งหมด ตรวจสอบฟิลด์ที่เป็นตัวเลือก ชนิดทั่วไป และขนาดตัวเลขก่อนใช้โค้ด โค้ดที่สร้างขึ้นต้องตั้งค่าไลบรารีตามปกติ ได้แก่ ปลั๊กอินคอมไพเลอร์ serialization การสร้างโค้ดของ Moshi หรือ jackson-module-kotlin Gson ข้ามคอนสตรักเตอร์ของ Kotlin พร็อพเพอร์ตีที่ไม่ใช่ null จึงอาจได้รับ null หากไม่ได้กำหนดค่าเริ่มต้นให้ทุกพร็อพเพอร์ตี อินพุตจำกัดที่ 5 MB และการซ้อน 256 ระดับ ตั้งแต่ 2 MB ขึ้นไปจะสร้างเมื่อกดปุ่มสร้างเท่านั้น ทุกอย่างทำงานในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด JSON

CodingTool เปิดตัวอย่างเป็นทางการบน

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch