🔷 JSON เป็น TypeScript -- สร้างอินเทอร์เฟซทันที, ฟรี & ใช้ได้ทั้งออฟไลน์
วาง JSON ใด ๆ หรืออาร์เรย์ และเครื่องมือนี้จะสร้างนิยาม TypeScript interface (หรือ type alias) ทันที -- ฟรีโดยไม่ต้องลงชื่อเข้าใช้ ไม่ต้องอัปโหลด และทำงาน 100% ในเบราว์เซอร์ของคุณ วัตถุที่ซ้อนกันจะกลายเป็น interface ที่ซ้อนกัน อาร์เรย์ของวัตถุจะถูกรวมเป็นรูปแบบที่มีประเภทที่กำหนดไว้พร้อมกับฟิลด์ที่เป็นตัวเลือก และอาร์เรย์ที่มีประเภทผสมจะสร้าง union types อัตโนมัติ
ออกแบบมาเพื่อความเป็นส่วนตัว. เครื่องมือนี้ทำงานทั้งหมดในเบราว์เซอร์ของคุณ — ข้อมูลที่คุณป้อนไม่ได้ถูกอัปโหลดหรือเก็บไว้ และยังสามารถใช้งานได้โดยไม่ต้องเชื่อมต่ออินเทอร์เน็ต
เกี่ยวกับ
เครื่องมือแปลง JSON เป็น TypeScript ใช้ walker สำหรับการอนุมานประเภทแบบ client-side บริสุทธิ์ -- ไม่มีไลบรารีภายนอก ไม่มีการเรียกใช้เซิร์ฟเวอร์ มันจะเยี่ยมชมโหนดทุกตัวใน JSON ของคุณอย่างมีลำดับชั้น ค่าพื้นฐานจะถูกจัดประเภทเป็น string, number, boolean หรือ null; วัตถุที่ซ้อนกันจะสร้าง interface ย่อยที่มีชื่อ; อาร์เรย์ของวัตถุจะรวมรูปแบบขององค์ประกอบทั้งหมด ดังนั้นคีย์ที่ขาดหายไปในบางองค์ประกอบจะกลายเป็นคีย์ที่เป็นตัวเลือก (key?: Type); อาร์เรย์ที่มีประเภทผสมจะสร้าง union types เช่น (string | number)[] คุณสามารถเลือกระหว่าง interface และ type alias ได้ และตั้งชื่อ interface หลักได้ ทั้งหมดทำงานในเบราว์เซอร์ของคุณ -- ข้อมูล JSON ของคุณจะไม่ถูกส่งไปที่ใดเลย
วิธีใช้งาน
- วาง JSON ของคุณในช่องป้อนข้อมูล -- วัตถุ อาร์เรย์ หรือโครงสร้างที่ซ้อนกัน ล้วนทำงานได้
- ตั้งชื่อ interface หลัก (ค่าเริ่มต้น: RootObject) และเลือกระหว่างการสร้าง interface หรือ type alias
- คลิก Convert to TypeScript (หรือกด Ctrl+Enter) เพื่อสร้างนิยามทันที
- ตรวจสอบผลลัพธ์ TypeScript -- interface ที่ซ้อนกันจะปรากฏก่อน ส่วน interface หลักจะปรากฏสุดท้าย
- คลิก Copy เพื่อคัดลอกผลลัพธ์ไปยังคลิปบอร์ดและวางลงในโปรเจกต์ TypeScript ของคุณโดยตรง
คำถามที่พบบ่อย
- เครื่องมือนี้อัปโหลด JSON ของฉันไปยังเซิร์ฟเวอร์หรือไม่?
- ไม่ ทั้งหมดประมวลผลในเบราว์เซอร์ของคุณโดยใช้ JavaScript JSON ของคุณจะไม่ถูกส่งออกจากอุปกรณ์ของคุณ
- มันจัดการกับอาร์เรย์ของวัตถุที่มีรูปร่างต่างกันอย่างไร?
- รูปร่างขององค์ประกอบทั้งหมดจะถูกรวมเป็น interface เดียว คีย์ที่ปรากฏในทุกองค์ประกอบจะเป็นคีย์ที่จำเป็น คีย์ที่ขาดหายไปในองค์ประกอบใด ๆ จะถูกทำเครื่องหมายว่าเป็นตัวเลือกด้วย ?
- ความแตกต่างระหว่างโหมดการสร้าง interface และ type คืออะไร?
- อินเทอร์เฟซใช้การประกาศอินเทอร์เฟซ TypeScript (สามารถขยายได้, แนะนำสำหรับรูปร่างของวัตถุ) type ใช้การเรียกอ้างแบบ type (ยืดหยุ่นมากกว่า, รองรับพื้นฐานและ union ที่ระดับราก) ทั้งสองวิธีให้ผลลัพธ์ที่เทียบเท่ากันสำหรับรูปร่างของวัตถุ
- สามารถจัดการ JSON ที่ซ้อนชั้นลึกได้ไหม?
- ได้. ตัวเดินทางของ type ทำงานแบบสั่งซ้อนทั้งหมด — แต่ละวัตถุที่ซ้อนชั้นจะสร้างอินเทอร์เฟซที่มีชื่อของตัวเอง และอินเทอร์เฟซจะถูกส่งออกตามลำดับการพึ่งพา (ลึกที่สุดก่อน) เพื่อให้ TypeScript คอมไพล์ได้โดยไม่มีข้อผิดพลาดจากอ้างอิงล่วงหน้า
- เกิดอะไรขึ้นถ้า JSON array ของฉันมีประเภทที่ผสมกัน เช่น ข้อความและตัวเลข?
- array ที่มีประเภทผสมจะสร้าง union type. ตัวอย่างเช่น [1, 'hello', true] จะกลายเป็น (number | string | boolean)[] หาก array มีประเภทเดียวที่สม่ำเสมอ ไม่จำเป็นต้องใช้ union
- เครื่องมือนี้จะอัปโหลดข้อมูลของฉันหรือไม่?
- ไม่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ ดังนั้นข้อมูลของคุณจึงไม่เคยออกจากอุปกรณ์ของคุณ — และหลังจากโหลดหน้าแล้วยังใช้งานแบบออฟไลน์ได้ด้วย