หน้าแรก › บทความ › ข้อผิดพลาดไวยากรณ์ JSON
นักพัฒนาและเว็บ

ข้อผิดพลาดไวยากรณ์ JSON ที่พบบ่อย: การตรวจสอบโครงสร้าง คอมมาเกิน และตัวเลข 64-bit

วันที่เผยแพร่: 15 ตุลาคม 2026 • อัปเดตล่าสุด: 2 พฤศจิกายน 2026 • ผู้เขียน: ทีมวิศวกร GoToolstack • เครื่องมือที่ใช้ทดสอบ: เครื่องมือตรวจสอบ JSON GoToolstack
จัดรูปแบบและตรวจจับข้อผิดพลาด JSON ได้ทันที: รายงานตำแหน่งบรรทัดและคอลัมน์ที่ผิดพลาด รองรับตัวเลข 64-bit BigInt โดยไม่ปัดเศษ และแก้ไขไวยากรณ์ได้ในคลิกเดียว
เปิดเครื่องมือตรวจสอบ JSON
สารบัญเนื้อหา
  1. มาตรฐาน RFC 8259 และความเข้มงวดของรูปแบบ JSON
  2. ข้อผิดพลาดไวยากรณ์ยอดนิยม 4 ประการ
  3. กับดักตัวเลขขนาดใหญ่ 64-bit BigInt ใน JavaScript
  4. การวินิจฉัยข้อผิดพลาดแบบระบุบรรทัดและคอลัมน์
  5. คำถามที่พบบ่อย (FAQ)

1. มาตรฐาน RFC 8259 และความเข้มงวดของรูปแบบ JSON

JSON (JavaScript Object Notation) เป็นรูปแบบแลกเปลี่ยนข้อมูลมาตรฐานที่ได้รับความนิยมสูงสุดใน REST API และไมโครเซอร์วิส อย่างไรก็ตาม มาตรฐานสากล RFC 8259 มีกฎไวยากรณ์ที่เข้มงวดกว่า JavaScript ทั่วไปอย่างมาก นักพัฒนาจำนวนมากมักคุ้นเคยกับความยืดหยุ่นของภาษา JavaScript จึงมักนำไวยากรณ์ที่ไม่ถูกต้องมาใช้ใน JSON จนทำให้ API เกิดข้อผิดพลาด JSON.parse(): Unexpected token

2. ข้อผิดพลาดไวยากรณ์ยอดนิยม 4 ประการ

ประเภทข้อผิดพลาด ตัวอย่างที่ผิด (Invalid) วิธีแก้ไขที่ถูกต้อง (Valid RFC 8259)
คอมมาเกินตัวสุดท้าย (Trailing Comma) {"name": "App", "version": 1,} {"name": "App", "version": 1}
เครื่องหมายคำพูดเดี่ยว (Single Quotes) {'title': 'GoToolstack'} {"title": "GoToolstack"}
คีย์ไม่มีเครื่องหมายคำพูด (Unquoted Keys) {status: "ok", count: 10} {"status": "ok", "count": 10}
มีคอมเมนต์ในไฟล์ (Comments) // การตั้งค่าระบบ
{"env": "prod"}
ลบคอมเมนต์ออกทั้งหมด หรือบันทึกในฟิลด์ "_comment"

3. กับดักตัวเลขขนาดใหญ่ 64-bit BigInt ใน JavaScript

ปัญหาที่ตรวจพบได้ยากที่สุดอย่างหนึ่งในการจัดการข้อมูล JSON บนเว็บ คือการสูญเสียความแม่นยำของตัวเลขขนาดใหญ่ ในภาษา JavaScript ตัวเลขปกติเป็นไปตามมาตรฐาน IEEE 754 64-bit Float ซึ่งสามารถเก็บค่าจำนวนเต็มที่แม่นยำได้สูงสุดเพียง Number.MAX_SAFE_INTEGER (9,007,199,254,740,991 หรือ $2^{53} - 1$)

หาก API ส่งรหัสประจำตัว เช่น {"id": 9007199254740993} ฟังก์ชัน JSON.parse() มาตรฐานจะปัดเศษตัวเลขนี้เป็น 9007199254740992 ทันที เครื่องมือตรวจสอบ JSON ของ GoToolstack ใช้ตัวแยกวิเคราะห์ Lossless AST Parser พิเศษที่คงรูปแบบโทเค็นตัวเลขดิบไว้ ทำให้ค่าไอดีของฐานข้อมูลไม่ผิดเพี้ยน

4. การวินิจฉัยข้อผิดพลาดแบบระบุบรรทัดและคอลัมน์

เมื่อโครงสร้าง JSON มีความยาวหลายพันบรรทัด การทราบเพียงข้อความแจ้งข้อผิดพลาดทั่วไปไม่เพียงพอ เครื่องมือของเราจะจำลองการสแกนโทเค็นและรายงานตำแหน่งบรรทัด (Line) และคอลัมน์ (Column) ที่เกิดข้อผิดพลาด พร้อมไฮไลต์จุดที่ต้องแก้ไขอย่างแม่นยำ

คำถามที่พบบ่อย (FAQ)

เหตุใดมาตรฐาน JSON จึงไม่อนุญาตให้ใส่คอมเมนต์?

ดักลาส คร็อกฟอร์ด (ผู้สร้างรูปแบบ JSON) ได้ออกแบบให้ JSON ไม่มีคอมเมนต์โดยเจตนา เพื่อป้องกันไม่ให้นักพัฒนานำคอมเมนต์ไปใช้ในการส่งผ่านคำสั่งแยกประเภทการทำงาน ซึ่งอาจทำให้เกิดความไม่เข้ากันระหว่างระบบต่างๆ

เครื่องมือนี้รองรับการมินิฟาย (Minify) ข้อมูล JSON หรือไม่?

รองรับ คุณสามารถเลือกตัดช่องว่างและการขึ้นบรรทัดใหม่ทั้งหมดเพื่อลดขนาดข้อมูลสำหรับส่งผ่านเครือข่าย HTTP หรือจัดรูปแบบให้อ่านง่าย (Prettify) ด้วยการย่อหน้า 2 สเปซ