วิธีใช้งาน
- วางหรือพิมพ์ JSON ในช่องด้านซ้าย ระบบจะตรวจสอบขณะคุณพิมพ์
- เลือกการเยื้อง — 2 ช่องว่าง, 4 ช่องว่าง, แท็บ หรือ ย่อขนาด เพื่อให้เหลือบรรทัดเดียว
- ทำเครื่องหมาย เรียงลำดับคีย์ เพื่อเรียงคีย์ของออบเจ็กต์ตามตัวอักษร ช่วยให้เปรียบเทียบเอกสารสองฉบับได้ง่ายขึ้น
- หากมีข้อผิดพลาด ข้อความจะแสดงบรรทัดและคอลัมน์ มิฉะนั้นให้คัดลอกหรือดาวน์โหลดผลลัพธ์
คำอธิบายตัวเลือก
- การเยื้อง
- 2 ช่องว่างเป็นรูปแบบที่ใช้บ่อยที่สุด (npm, Prettier); 4 ช่องว่างตรงกับ json.dumps(indent=4) ของ Python; ย่อขนาดจะลบช่องว่างทั้งหมดเพื่อให้ไฟล์มีขนาดเล็กที่สุด
- เรียงลำดับคีย์
- เรียงคีย์ของออบเจ็กต์ตามค่าที่ถอดรหัสแล้วในทุกระดับ จะไม่เปลี่ยนลำดับของอาร์เรย์
- ตัวเลขขนาดใหญ่
- เก็บตัวเลขตามที่เขียนไว้ ตัวจัดรูปแบบจำนวนมากจะแปลง JSON เป็นตัวเลข JavaScript ซึ่งทำให้ 12345678901234567890 กลายเป็น 12345678901234567000 โดยไม่แจ้งให้ทราบ
ข้อผิดพลาด JSON ที่พบบ่อยและวิธีแก้ไข
| ข้อความ | สาเหตุที่พบบ่อย |
|---|---|
อักขระที่ไม่คาดคิด ' |
ใช้เครื่องหมายคำพูดเดี่ยวแทนเครื่องหมายคำพูดคู่ |
| จุลภาคต่อท้าย | มีจุลภาคหลังรายการสุดท้าย: [1, 2,] |
อักขระที่ไม่คาดคิด / |
คอมเมนต์ // ที่คัดลอกมาจาก JavaScript |
| เอกสารจบเร็วเกินไป | ขาด } หรือ ] มักเกิดจากการคัดลอกมาไม่ครบ |
| อักขระควบคุมต้อง escape | มีแท็บหรือการขึ้นบรรทัดจริงอยู่ในสตริง — ใช้ \t หรือ \n |
| พบเนื้อหาที่ไม่คาดคิดหลังจบเอกสาร | วางเอกสาร JSON สองชุดติดกัน หรือมีข้อความหลังวงเล็บปิด |
ตัวอย่าง
อินพุต:
{"id":9007199254740993,"name":"Ada","tags":["math","code"]}
จัดรูปแบบด้วย 2 ช่องว่าง — สังเกตว่า ID ไม่เปลี่ยนแปลง:
{
"id": 9007199254740993,
"name": "Ada",
"tags": [
"math",
"code"
]
}
คำถามที่พบบ่อย
ทำไมจึงขึ้นว่า "JSON ไม่อนุญาตให้มีจุลภาคต่อท้าย"?
JSON มาตรฐาน (RFC 8259) ไม่อนุญาตให้มีจุลภาคหลังรายการสุดท้ายของออบเจ็กต์หรืออาร์เรย์ แม้ JavaScript จะอนุญาตก็ตาม ให้ลบจุลภาคก่อนเครื่องหมายปิด } หรือ ]
ใช้เครื่องหมายคำพูดเดี่ยวหรือคอมเมนต์ใน JSON ได้หรือไม่?
ไม่ได้ สตริง JSON ต้องใช้เครื่องหมายคำพูดคู่ และคอมเมนต์ไม่ใช่ส่วนหนึ่งของรูปแบบนี้ ไฟล์อย่าง tsconfig.json ยอมรับสิ่งเหล่านี้ได้เพราะเครื่องมือใช้ตัวแยกวิเคราะห์แบบผ่อนปรน (JSONC)
JSON ของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การแยกวิเคราะห์และการจัดรูปแบบเกิดขึ้นในเบราว์เซอร์ของคุณ ดังนั้นการตอบกลับจาก API โทเค็น และไฟล์การกำหนดค่าจึงอยู่บนอุปกรณ์ของคุณ
ทำไม ID ขนาดใหญ่ของฉันจึงเปลี่ยนไปเมื่อใช้เครื่องมืออื่น?
JavaScript จัดเก็บตัวเลขเป็นเลขทศนิยมแบบ floating point 64 บิต ซึ่งแม่นยำได้ถึงเพียง 9,007,199,254,740,991 เท่านั้น เครื่องมือนี้ไม่แปลงตัวเลข ดังนั้น ID ที่เกินค่านี้จะยังคงเดิม
รองรับไฟล์ขนาดใหญ่แค่ไหน?
เอกสารขนาดหลายเมกะไบต์จัดรูปแบบได้ทันทีบนแล็ปท็อป สำหรับไฟล์ขนาดหลายร้อยเมกะไบต์ เครื่องมือบรรทัดคำสั่งอย่าง jq จะเหมาะกว่า
ความเป็นส่วนตัว
เครื่องมือนี้ทำงานในเบราว์เซอร์ของคุณทั้งหมด ไฟล์และข้อความของคุณได้รับการประมวลผลบนอุปกรณ์ของคุณ และจะไม่ถูกอัปโหลดไปยังเซิร์ฟเวอร์ของเรา