อ่านขอบเขตไวยากรณ์ JSON จาก RFC 8259
แปลกฎการผลิตทางไวยากรณ์ของ RFC 8259 เป็นภาษาธรรมดา: อักขระใดปรากฏได้ตรง ๆ อักขระใดต้อง escape และจุดใดที่มาตรฐานจงใจเปิดช่องไว้
เริ่มต้นจาก RFC 8259 และ ECMA-404 หมวดนี้วางภาพรวมไวยากรณ์ ประเภทข้อมูล การเข้ารหัส และขอบเขตการแยกวิเคราะห์ของ JSON ซึ่งเป็นรากฐานของงาน JSON ทุกชิ้น
6 บทความแปลกฎการผลิตทางไวยากรณ์ของ RFC 8259 เป็นภาษาธรรมดา: อักขระใดปรากฏได้ตรง ๆ อักขระใดต้อง escape และจุดใดที่มาตรฐานจงใจเปิดช่องไว้
JSON มีเพียงหกประเภท แต่แต่ละประเภทสามารถเปลี่ยนรูปข้อมูลของคุณได้อย่างเงียบเชียบ บทความนี้รวบรวมกับดักของตัวเลข สตริง และ null ไว้ในรอบเดียว
แปลง error ของ JSON.parse ให้เป็นบรรทัดและตัวอักษร แล้วตัดสาเหตุหกประการออกไป: เครื่องหมายจุลภาคท้ายรายการ เครื่องหมายคำพูดเดี่ยว คอมเมนต์ อักขระควบคุม BOM และการตัดทอนข้อมูล
จากตัวอักษรขยะใน Notepad ไปจนถึงสามวิธีเปิดไฟล์ JSON พร้อมวิธีตรวจว่าไม่มีอะไรพังหลังแก้ไข และควรทำอย่างไรเมื่อไฟล์ใหญ่เปิดไม่ขึ้น
ค้นหาสาเหตุจากข้อความ JSON.parse แบบตรงตัว: error ที่พบบ่อย 12 แบบใน Chrome, Firefox และ Safari รวมถึงหน้า error แบบ HTML การตัดทอนข้อมูล และการแยกวิเคราะห์ซ้ำ
ไฟล์ JSON ขนาด 4 MB ที่มีบรรทัดเดียวรายงานว่าอยู่บรรทัด 1 คอลัมน์ 23611 ซึ่งไม่บอกอะไรเลย คู่มือนี้ใช้ตัวอย่างที่วัดในเครื่องอธิบายว่าทำไม Python, Node และ jq รายงานเลขสามค่าต่างกัน character offset พาคุณไปถึงไบต์ที่พังได้อย่างไร และมีกับดักสามข้อใดที่ทำข้อมูลเสียหายเงียบ ๆ หลังไวยากรณ์ถูกแก้แล้ว