ค้นหาเว็บไซต์

ตรวจสอบ JSON กับ TypeScript


เราใช้ไฟล์ JSON เพื่อกำหนดค่าบางส่วนของเว็บแอปพลิเคชันของเรา และชัดเจนว่ามีความผิดพลาดเกิดขึ้นในชื่อฟิลด์ เป็นต้น

เป็นไปได้หรือไม่ที่จะตรวจสอบความถูกต้องของไฟล์ JSON โดยใช้คำนิยาม TypeScript หรือเราควรย้ายการกำค่าของเราไปยังรูปแบบอื่น?

เราใช้ทั้ง Intellij และ VSCode สำหรับการพัฒนา

คำนิยามตัวอย่าง:

interface AppConfig {
  field1: number;
  field2?: string;
  field3: number[];
}

ตัวอย่างการตั้งค่า:

{
  "field": 1,
  "field3": 2
}

ผลลัพธ์ตัวอย่างการตรวจสอบความถูกต้อง:

TS2322: Type '{ field: number; field3: number[]; }' is not assignable to type 'AppConfig'.
TS2322: Type 'number' is not assignable to type 'number[]'.

คำตอบ #1

วิธีแก้ปัญหาอาจเป็นการสร้างไฟล์ JSON Schema ตามอินเทอร์เฟซ TypeScript ของคุณ จากนั้นให้ IDE ทำการตรวจสอบความถูกต้องของไฟล์ JSON ตามสคีมา IntelliJ มีการตรวจสอบดังกล่าว (รวมถึงการเติมข้อความอัตโนมัติ) กับการสนับสนุน JSON ของพวกเขา

ถ้าคุณไม่ต้องการสร้างโครงร่างเอง คุณสามารถสร้างโครงร่างจากอินเทอร์เฟซ TypeScript ของคุณโดยใช้แพ็กเกจ NPM typescript-json-schema

บทความที่เกี่ยวข้อง