tigtools

เครื่องมือจัดรูปแบบ JSON

วาง JSON เพื่อจัดรูปแบบให้อ่านง่ายหรือย่อขนาด หาก JSON ไม่ถูกต้อง คุณจะเห็นว่าผิดพลาดอะไรและอยู่ตรงไหน ข้อมูลของคุณยังคงอยู่ในเบราว์เซอร์

ทำงานในเบราว์เซอร์ของคุณ ไม่ต้องสมัคร

การเยื้อง

วิธีใช้งาน

  1. วาง JSON ลงในช่องป้อนข้อมูล หรือกด “ลองใช้ตัวอย่าง”
  2. เลือกการเยื้อง (2 ช่องว่าง, 4 ช่องว่าง หรือแท็บ) และถ้าต้องการ ให้เรียงลำดับคีย์ตามตัวอักษร
  3. อ่านผลลัพธ์ที่จัดรูปแบบแล้วทางขวา กดปุ่มย่อขนาดเพื่อลบช่องว่างทั้งหมดแทน
  4. หาก JSON มีข้อผิดพลาดทางไวยากรณ์ ให้แก้ที่บรรทัดและคอลัมน์ที่แสดง จากนั้นคัดลอกหรือดาวน์โหลดผลลัพธ์เป็นไฟล์ .json

วิธีการทำงาน

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

เมื่อข้อมูลนำเข้าไม่ใช่ JSON ที่ถูกต้อง ตัวตรวจสอบแบบเข้มงวดขนาดเล็กจะค้นหาปัญหาแรกและรายงานบรรทัดกับคอลัมน์ พร้อมคำอธิบายที่เข้าใจง่ายสำหรับข้อผิดพลาดที่พบบ่อย เช่น จุลภาคท้ายรายการ เครื่องหมายคำพูดเดี่ยว คีย์ที่ไม่ใส่เครื่องหมายคำพูด คอมเมนต์ และค่าอย่าง NaN หรือ undefined ซึ่งมีใน JavaScript แต่ไม่มีใน JSON เบราว์เซอร์รายงานข้อผิดพลาด JSON ของตัวเองด้วยถ้อยคำต่างกัน ตำแหน่งจึงถูกคำนวณโดยเครื่องมือแทนที่จะอ่านจากข้อความของเบราว์เซอร์

ควรรู้ขีดจำกัดของการจัดรูปแบบใหม่ ตัวเลขถูกเก็บเป็นจำนวนจุดลอยตัวความละเอียดสองเท่า จำนวนเต็มที่มากกว่า 9,007,199,254,740,991 (2^53 − 1) เช่น ID ฐานข้อมูลบางค่า จะสูญเสียความละเอียด: 9007199254740993 กลายเป็น 9007199254740992 ควรเก็บ ID เช่นนี้เป็นสตริง หากออบเจ็กต์มีคีย์เดียวกันสองครั้ง ระบบจะเก็บเฉพาะค่าสุดท้าย คีย์ที่ดูเหมือนจำนวนเต็ม ("1", "20") จะถูกวางไว้ก่อนคีย์อื่นเสมอโดย JavaScript ไม่ว่าคุณจะเรียงลำดับหรือไม่ ข้อมูลนำเข้าขนาดไม่กี่เมกะไบต์ทำงานได้ ที่ประมาณ 300,000 ตัวอักษรขึ้นไป การจัดรูปแบบสดจะหยุดชั่วคราว แล้วคุณกด Format แทน เพื่อให้การพิมพ์ยังตอบสนองรวดเร็ว

ตัวอย่าง

การอ่านการตอบกลับจาก API

REST API ส่งข้อมูลมาเป็นบรรทัดยาวบรรทัดเดียว เช่น {"user":{"id":7,"tags":["a","b"]}} เมื่อจัดรูปแบบโดยใช้การเยื้อง 2 ช่องว่าง แต่ละคีย์จะแสดงแยกบรรทัด และอาร์เรย์ tags จะซ้อนอยู่ภายใน ทำให้เห็นโครงสร้างได้ทันที

เปรียบเทียบไฟล์ตั้งค่าสองไฟล์

คอนฟิก JSON สองชุดแสดงการตั้งค่าเดียวกันโดยเรียงลำดับต่างกัน จัดรูปแบบทั้งสองโดยเปิด “เรียงคีย์ A–Z” ผลลัพธ์จะตรงแนวกัน และการเปรียบเทียบข้อความจะแสดงเฉพาะความแตกต่างที่แท้จริง

ค้นหาจุลภาคที่ผิดพลาด

ไฟล์ package.json ที่แก้ไขเองโหลดไม่สำเร็จ เมื่อวางข้อความลงไปจะแสดง “จุลภาคท้ายรายการ” ที่บรรทัด 14 คอลัมน์ 5 ชี้ไปที่จุลภาคหลัง dependency ตัวสุดท้าย

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

ทำไมตัวเลขขนาดใหญ่ถึงเปลี่ยนไปหลังการจัดรูปแบบ?

ตัวแยกวิเคราะห์ JSON ในเบราว์เซอร์เก็บตัวเลขเป็นจำนวนทศนิยม 64 บิต ซึ่งแทนจำนวนเต็มได้อย่างถูกต้องถึง 9,007,199,254,740,991 เท่านั้น จำนวนเต็มที่ใหญ่กว่านั้นจะถูกปัดเป็นค่าที่แทนได้ใกล้ที่สุด หากข้อมูลของคุณมี ID แบบ 64 บิต ให้ส่งเป็นสตริง

จัดรูปแบบ JSON ที่มีคอมเมนต์หรือเครื่องหมายจุลภาคต่อท้าย (JSON5, JSONC) ได้ไหม?

ไม่ เครื่องมือนี้ปฏิบัติตามมาตรฐาน JSON (RFC 8259) อย่างเคร่งครัด และรายงานคอมเมนต์และคอมมาท้ายรายการว่าเป็นข้อผิดพลาดพร้อมตำแหน่ง เพื่อให้คุณลบออกได้ ซึ่งเป็นสิ่งเดียวกับที่ JSON parser ส่วนใหญ่ในภาษาโปรแกรมจะทำ

การจัดเรียงคีย์ทำให้ข้อมูลของฉันเปลี่ยนไปหรือไม่?

ไม่มีการเปลี่ยนแปลงค่า มีเพียงการจัดเรียงลำดับคีย์ภายในออบเจ็กต์เท่านั้น เนื่องจาก JSON กำหนดให้ออบเจ็กต์ไม่มีลำดับ ผลลัพธ์จึงเทียบเท่ากัน ส่วนอาร์เรย์จะไม่มีการจัดเรียงใหม่ เพราะลำดับมีความหมาย

ไฟล์ขนาดใหญ่แค่ไหนที่ฉันจัดรูปแบบได้?

ไฟล์ขนาดหลายเมกะไบต์ทำงานได้ในเบราว์เซอร์เดสก์ท็อปรุ่นปัจจุบัน หากอินพุตยาวเกินประมาณ 300,000 ตัวอักษร เครื่องมือจะรอจนกว่าคุณจะกดปุ่ม Format หรือ Minify แทนการจัดรูปแบบใหม่ทุกครั้งที่พิมพ์ เอาต์พุตขนาดใหญ่มากอาจทำให้กล่องข้อความเลื่อนช้าบนมือถือ

มีการอัปโหลด JSON ของฉันไปที่ใดหรือไม่?

ไม่ การแยกวิเคราะห์และจัดรูปแบบจะทำในเบราว์เซอร์ของคุณด้วย JavaScript โดยข้อความจะไม่ถูกส่งไปยังเซิร์ฟเวอร์หรือจัดเก็บไว้

ความเป็นส่วนตัว

JSON ของคุณถูกแยกวิเคราะห์และจัดรูปแบบในเบราว์เซอร์ของคุณเท่านั้น ไม่ถูกอัปโหลด บันทึก หรือจัดเก็บ และไม่รวมอยู่ในข้อมูลวิเคราะห์