เครื่องมือจัดรูปแบบและตรวจสอบ JSON
- ไม่ต้องสมัครสมาชิก
- ฟรี 100%
- ไม่เก็บข้อมูลบนเซิร์ฟเวอร์
วาง JSON ลงไปเพื่อจัดรูปแบบหรือย่อขนาด เลือกเยื้องด้วยแท็บ หรือเว้นวรรค 2, 4, 8 ช่องก็ได้ ถ้าอ่านข้อมูลไม่ผ่าน จะบอกบรรทัดและคอลัมน์ที่พัง ไม่ใช่แค่ตำแหน่งตัวอักษร ไฟล์ใหญ่จะประมวลผลบนเธรดเบื้องหลัง หน้าเว็บจึงยังตอบสนองระหว่างทำงาน
ข้อความ error แต่ละแบบหมายถึงอะไร
| สิ่งที่เห็น | สาเหตุที่พบบ่อย |
|---|---|
Unexpected token } | มีคอมมาเกินก่อนปีกกาปิด ซึ่ง JSON ไม่อนุญาต |
Unexpected token ' | ใช้อัญประกาศเดี่ยว สตริงใน JSON ต้องใช้อัญประกาศคู่เสมอ |
Unexpected token / | มีคอมเมนต์ JSON ไม่มีคอมเมนต์ นั่นคือ JSONC หรือ JSON5 |
| Unexpected end of input | ปีกกาหรือวงเล็บไม่ได้ปิด มักเกิดจากไฟล์ขาดกลางคัน |
Unexpected token N | มี NaN หรือ Infinity ซึ่ง JSON แทนค่าเหล่านี้ไม่ได้ |
| Unexpected non-whitespace after JSON | มีสองเอกสารในไฟล์เดียว หรือมีอักขระหลงเหลือหลังปีกกาสุดท้าย |
Chrome รายงานหลายกรณีข้างบนโดยไม่บอกตำแหน่งเลย เครื่องมือนี้กู้บรรทัดและคอลัมน์ จากข้อความตัวอย่างที่ Chrome ยกมา คุณจึงได้จุดที่ต้องไปดู แทนที่จะได้เลขตำแหน่งตัวอักษร ในไฟล์ที่ไล่นับเองไม่ไหว
เลือกการเยื้องแบบไหน
| การเยื้อง | ที่ที่ใช้เป็นธรรมเนียม |
|---|---|
| เว้น 2 ช่อง | npm เครื่องมือฝั่ง JavaScript ส่วนใหญ่ และตัวอย่าง API ทั่วไป |
| เว้น 4 ช่อง | โปรเจกต์ Python ไฟล์ตั้งค่าของ .NET และ style guide ขององค์กรจำนวนมาก |
| แท็บ | โปรเจกต์ Go และที่ที่ไฟล์ถูกอ่านในหลายระดับการซูม |
| ย่อขนาด | อะไรก็ตามที่ต้องส่งผ่านเครือข่าย เพราะช่องว่างก็คือไบต์ |
ทั้งหมดนี้ไม่ได้เปลี่ยนข้อมูล เอกสาร JSON สองไฟล์ที่ต่างกันแค่ช่องว่างคือเอกสารเดียวกัน จึงย่อขนาดก่อนส่งและจัดรูปแบบก่อนอ่านได้โดยไม่มีต้นทุนอะไร
สิ่งที่ JSON จงใจไม่มี
JSON ที่ผิดรูปแบบส่วนใหญ่เป็น JavaScript ที่ถูกต้อง ซึ่งเป็นต้นเหตุของความสับสน รูปแบบนี้จงใจเป็นสับเซตที่เข้มงวด ทุกอย่างที่ตัดออกคือการตัดความกำกวมระหว่างตัวอ่านแต่ละตัว
- ไม่มีคอมเมนต์ เพราะไม่มีวิธีที่ตกลงกันได้ว่าจะรักษามันไว้อย่างไร การอ่านแล้วเขียนกลับจึงจะทำให้คอมเมนต์หายไปเงียบ ๆ
- ไม่มีคอมมาเกินท้าย เพราะตัวอ่านบางตัวข้ามมันไป บางตัวนับเป็นสมาชิกว่างเพิ่มมาอีกตัว
- ไม่มีอัญประกาศเดี่ยว และคีย์ต้องอยู่ในอัญประกาศ
- ไม่มี
NaNInfinityหรือundefinedให้ใช้nullหรือใช้สตริงถ้าความต่างนั้นมีความหมาย
ถ้าอยากได้ความสะดวกเหล่านั้น มี JSON5 กับ JSONC ที่มีตัวอ่านของตัวเอง สิ่งที่ทำไม่ได้คือเอาไปป้อนให้ระบบที่คาดหวัง JSON มาตรฐาน
คำถามที่พบบ่อย
ข้อมูล JSON ของฉันถูกส่งขึ้นเซิร์ฟเวอร์ไหม
ไม่ การอ่านและจัดรูปแบบเกิดขึ้นในเบราว์เซอร์ของคุณ นโยบายความปลอดภัยของเว็บกำหนด connect-src ‘none’ เบราว์เซอร์จึงบล็อกการเรียกเครือข่ายจากหน้านี้ ตรวจสอบได้ในแท็บ Network
ทำไมบางครั้ง Chrome ไม่บอกว่าผิดตรงไหน
Chrome รายงานข้อผิดพลาดหลายแบบเป็น "Unexpected token … is not valid JSON" โดยไม่บอกตำแหน่ง เครื่องมือนี้หาตำแหน่งจากข้อความตัวอย่างที่ Chrome ยกมา คุณจึงยังได้บรรทัดและคอลัมน์
รองรับคอมเมนต์หรือคอมมาเกินท้ายไหม
ไม่ เพราะมาตรฐาน JSON ไม่รองรับ ทั้งสองอย่างเป็นสาเหตุที่พบบ่อยเวลาไฟล์อ่านไม่ผ่าน ส่วน JSONC และ JSON5 เป็นคนละรูปแบบและใช้ตัวอ่านคนละตัว
รองรับไฟล์ใหญ่แค่ไหน
ไฟล์ 5MB จัดรูปแบบได้โดยหน้าเว็บไม่ค้าง เพราะประมวลผลบนเธรดเบื้องหลัง เกินจากนั้นขึ้นอยู่กับหน่วยความจำของเครื่องคุณ