ตรวจสอบ 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