ตัวตรวจสอบ JSON คืออะไร?
ตัวตรวจสอบ JSON ตรวจสอบว่าข้อมูล JSON ของคุณเป็นไปตามไวยากรณ์ที่ถูกต้องตามข้อกำหนด RFC 8259 หรือไม่ จะวิเคราะห์สตริงอินพุตแบบเรียลไทม์และรายงานความสำเร็จหรือแถวและคอลัมน์ที่แน่นอนของข้อผิดพลาดไวยากรณ์แรก การตรวจสอบ JSON เป็นขั้นตอนที่สำคัญในท่อข้อมูลใดๆ — จุลภาคที่วางผิดตำแหน่ง คีย์ที่ไม่มีเครื่องหมายคำพูด หรือจุลภาคท้ายอาจทำให้จุดสิ้นสุด API ปฏิเสธพาสโหลด ไฟล์การกำหนดค่าโหลดไม่สำเร็จ หรือการนำเข้าฐานข้อมูลถูกยกเลิก การละเมิดไวยากรณ์ทั่วไปรวมถึงจุลภาคท้ายหลังจากองค์ประกอบสุดท้ายในอาร์เรย์หรืออ็อบเจ็กต์ เครื่องหมายคำพูดเดี่ยวแทนคู่บนคีย์และค่าสตริง โคลอนที่หายไประหว่างคีย์และค่า อักขระพิเศษที่ไม่ได้ escape ภายในสตริง และ литералตัวเลขที่มีศูนย์นำหรือจุดทศนิยมนำ
เมื่อไหร่ควรใช้เครื่องคำนวณนี้
- การตรวจสอบเพย์โหลด JSON ก่อนส่งไปยัง API เพื่อหลีกเลี่ยงข้อผิดพลาด 400 Bad Request
- การดีบักว่าทำไมไฟล์การกำหนดค่าจึงโหลดไม่สำเร็จโดยการค้นหาตำแหน่งข้อผิดพลาดที่แน่นอน
- การตรวจสอบข้อมูลที่ส่งออกจากฐานข้อมูลหรือสเปรดชีตก่อนนำเข้าสู่ระบบอื่น
- การยืนยันว่าผลลัพธ์ JSON จากตัวสร้างโค้ดหรือเอนจินเทมเพลตถูกต้องทางไวยากรณ์
- การทดสอบเพย์โหลด webhook หรือเนื้อหาคำขอระหว่างการพัฒนาและการผสานรวม API
- การตรวจสอบไฟล์ JSON หลังจากการแก้ไขข้อขัดแย้งในการผสานเพื่อให้แน่ใจว่าไม่มีการนำไวยากรณ์ที่ผิดพลาดเข้ามา
ขั้นตอน:
- วาง JSON ของคุณในพื้นที่ข้อมูลเข้า
- ตัวตรวจสอบจะตรวจสอบ JSON ของคุณโดยอัตโนมัติ
- ดูป้ายสีเขียวหากถูกต้องหรือป้ายสีแดงพร้อมรายละเอียดข้อผิดพลาดหากไม่ถูกต้อง
- แก้ไขข้อผิดพลาดใดๆ และตรวจสอบใหม่
สูตร
ข้อมูลเข้า: สตริง JSON → พยายามแยกวิเคราะห์ → ถูกต้อง (สีเขียว) หรือไม่ถูกต้อง (สีแดงพร้อมรายละเอียดข้อผิดพลาด)
กรณีใช้งาน
- การตรวจสอบเพย์โหลด API ก่อนส่ง
- การตรวจสอบไฟล์การกำหนดค่า
- การดีบักข้อผิดพลาดในการแยกวิเคราะห์ JSON
- การยืนยันความสมบูรณ์ของข้อมูลที่ส่งออก
ประโยชน์หลัก
- การตรวจสอบไวยากรณ์ทันทีด้วยความหน่วงเป็นศูนย์
- ตำแหน่งข้อผิดพลาดที่แน่นอนพร้อมหมายเลขแถวและคอลัมน์
- การตรวจสอบอัตโนมัติแบบเรียลไทม์ขณะพิมพ์
- ใช้ฟรีโดยไม่ต้องลงทะเบียน
- ตรวจจับปัญหาที่มองไม่เห็นเช่น BOM และข้อผิดพลาดการเข้ารหัส
- ทำงานโดยตรงในเบราว์เซอร์โดยไม่ต้องอัปโหลดไปยังเซิร์ฟเวอร์
เคล็ดลับ
- ตรวจสอบ JSON เสมอก่อน deploying ไปยังการผลิตหรือ commit ไปยังระบบควบคุมเวอร์ชัน
- แก้ไขข้อผิดพลาดแรกที่รายงานก่อน — ข้อผิดพลาดแบบ cascade มักจะแก้ไขได้หลังจากแก้ไขครั้งเดียว
- ใช้หมายเลขแถวและคอลัมน์เพื่อกระโดดไปยังปัญหาโดยตรงในตัวแก้ไขของคุณ
- รวมกับ JSON formatter สำหรับการตรวจสอบด้วยภาพหลังจากผ่านการตรวจสอบ
- สำหรับไฟล์ใหญ่ ตรวจสอบข้อความสั้นก่อนเพื่อแยกพื้นที่ที่มีปัญหา
ข้อผิดพลาดที่พบบ่อย
- ใช้เครื่องหมายคำพูดเดี่ยวแทนคู่สำหรับคีย์หรือค่าสตริง
- เพิ่มจุลภาคท้ายหลังจากองค์ประกอบสุดท้ายในอาร์เรย์หรืออ็อบเจ็กต์
- รวมความเห็น (// หรือ /* */) ที่ไม่ใช่ส่วนหนึ่งของข้อกำหนด JSON
- ลืม escape อักขระพิเศษเช่นการขึ้นบรรทัดใหม่หรือแท็บภายในค่าสตริง
คำศัพท์สำคัญ
- การตรวจสอบ: ตรวจสอบข้อมูล JSON ตามข้อกำหนดไวยากรณ์ RFC 8259
- การแยกวิเคราะห์: ตีความสตริง JSON เป็นข้อมูลที่มีโครงสร้างที่โปรแกรมสามารถใช้ได้
- ข้อผิดพลาดไวยากรณ์: การละเมิดกฎการจัดรูปแบบ JSON ที่ตรวจพบระหว่างการแยกวิเคราะห์
- การตรวจสอบ Schema: ตรวจสอบว่าข้อมูล JSON ตรงกับโครงสร้างที่กำหนดพร้อมฟิลด์ที่จำเป็น ประเภท และข้อจำกัด
- BOM (Byte Order Mark): อักขระ UTF-8 ที่มองไม่เห็นที่เริ่มต้นไฟล์ซึ่งอาจทำให้การแยกวิเคราะห์ JSON ล้มเหลว
แนวคิดที่เกี่ยวข้อง
- ตัวจัดรูปแบบ JSON:
- ตัวทดสอบ Regex:
- ตัวเข้ารหัส/ถอดรหัส Base64:
- ตัวเข้ารหัส/ถอดรหัส URL:
- ตัวสร้าง Hash:
ตัวอย่าง
ข้อมูลเข้า: {"name":"John","age":30,} มีจุลภาคท้ายหลัง 30 ตัวตรวจสอบรายงาน: "Expected a value at line 1, column 26" ระบุตำแหน่งที่แน่นอนที่ต้องการการแก้ไข
การตีความผลลัพธ์
ตัวตรวจสอบจะแยกวิเคราะห์ข้อมูล JSON เข้าของคุณแบบเรียลไทม์และรายงานป้ายสีเขียว 'ถูกต้อง' หรือป้ายสีแดง 'ไม่ถูกต้อง' พร้อมบรรทัดและคอลัมน์ที่แน่นอนของข้อผิดพลาดแรก แก้ไขข้อผิดพลาดที่รายงานและตรวจสอบใหม่ — มักมีข้อผิดพลาดแบบต่อเนื่องกันโดยที่ความผิดพลาดหนึ่งทำให้เกิดปัญหาหลายอย่างตามมา
หมายเลขบรรทัดและคอลัมน์ชี้ไปยังตำแหน่งอักขระที่แน่นอนที่ตัวแยกวิเคราะห์ล้มเหลว หากข้อผิดพลาดระบุว่า 'บรรทัด 5 คอลัมน์ 12' ให้ไปที่ตำแหน่งนั้นในข้อมูลเข้าของคุณและตรวจสอบปัญหาที่พบบ่อยที่สุด: จุลภาคที่ขาดหายไป คีย์ที่ไม่มีเครื่องหมายคำพูด หรือจุลภาคท้าย
สำหรับ JSON ที่ดูเหมือนถูกต้องแต่ยังคงล้มเหลว ให้ตรวจสอบอักขระที่มองไม่เห็น เช่น BOM (byte order mark) ที่จุดเริ่มต้นของไฟล์ หรือช่องว่างแบบไม่ตัดคำภายในสตริง สิ่งเหล่านี้อาจถูกนำเข้ามาโดยโปรแกรมแก้ไขข้อความหรือการดำเนินการคัดลอกและวาง

