JSON เป็น Swift

สร้าง struct หรือ class แบบ Codable ของ Swift จาก JSON

ข้อมูลเข้า JSON

ตัวเลือก

โมเดล
รูปแบบชนิด
การซีเรียลไลซ์

ผลลัพธ์ Swift

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

JSON to Swift สร้างอะไร

JSON to Swift แปลงการตอบกลับของ API หรือ JSON ตัวอย่างใดก็ได้เป็นชนิดของ Swift struct ได้ memberwise initializer มาโดยอัตโนมัติ ส่วน final class ได้ init ที่สร้างขึ้น เมื่อชื่อพร็อพเพอร์ตีต่างจากคีย์ เช่น user_name → userName จะมี enum CodingKeys ที่แมปทุกพร็อพเพอร์ตีกลับไปยัง JSON คำสงวนอย่าง class จะถูก escape ด้วย backtick และคงชื่อเดิมไว้

วิธีใช้งาน
  1. 1.วาง JSON อัปโหลดหรือลากไฟล์ .json มาวาง หรือโหลดตัวอย่างหนึ่งรายการ
  2. 2.ตั้งชื่อชนิดรากและเลือกรูปแบบชนิด
  3. 3.เลือก conformance และนโยบาย CodingKeys (เมื่อชื่อต่างกัน เสมอ หรือไม่ใช้)
  4. 4.อ่านหมายเหตุใต้ผลลัพธ์ แล้วคัดลอกโค้ดหรือดาวน์โหลด Models.swift
การอนุมานชนิด
  • •ตรวจทุกรายการในอาร์เรย์ ไม่ใช่แค่รายการแรก และรวมออบเจ็กต์ในอาร์เรย์เดียวกันเข้าด้วยกัน
  • •คีย์ที่ไม่มีในบางออบเจ็กต์เป็นแบบไม่บังคับ คีย์ที่บางครั้งเป็น null เป็นแบบ nullable โดยแยกสองกรณีนี้ออกจากกัน
  • •1 และ 2.5 ในตำแหน่งเดียวกันจะขยายเป็นทศนิยม ส่วนการปนกันแบบอื่นจะถูกรายงาน
  • •อาร์เรย์ว่างและค่าที่เป็น null เท่านั้นไม่มีหลักฐานของชนิด จึงใช้ชนิดทั่วไปและมีหมายเหตุอธิบาย
  • •การแมปชนิด: string → String, integer → Int (UInt64 หรือ Decimal หากเกินช่วงนั้น), decimal → Double, boolean → Bool, array → [T], object → ชนิดซ้อน, ไม่มีหรือเป็น null → T?, ไม่ทราบชนิดหรือปนกัน → JSONValue (Any เมื่อไม่มี conformance)
ข้อจำกัดและความเป็นส่วนตัว

ตัวอย่างแสดงเพียงหน้าตาของข้อมูลครั้งหนึ่ง ไม่ใช่สัญญา API ทั้งหมด ตรวจสอบฟิลด์ไม่บังคับ ชนิดทั่วไป และขนาดของตัวเลขก่อนนำโค้ดไปใช้ ข้อมูลเข้าจำกัดที่ 5 MB และการซ้อน 256 ระดับ ตั้งแต่ 2 MB ขึ้นไปการสร้างจะรอให้กดปุ่ม สร้าง ทุกอย่างทำงานในเบราว์เซอร์ และ JSON จะไม่ถูกอัปโหลด หากเลือกไม่เขียน CodingKeys พร็อพเพอร์ตีที่เปลี่ยนชื่อจะไม่ตรงกับคีย์ 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