ตัวจัดรูปแบบ JSON และเครื่องมือดู
วาง JSON แล้วจะจัดรูปแบบให้สวยงามทันที คลิกฟิลด์ใดก็ตามเพื่อตรวจสอบค่าเต็มและเส้นทางทางด้านขวา ข้อผิดพลาดทางไวยากรณ์จะถูกระบุตำแหน่งตามบรรทัดและคอลัมน์ ทุกอย่างทำงานแบบโลคอลในเบราว์เซอร์ของคุณ
- การเยื้อง
- 2/4 ช่องว่าง · tab
- พิเศษ
- ตรวจสอบ · เรียงลำดับ · สถิติ
- ความเป็นส่วนตัว
- ไม่มีการอัปโหลดข้อมูล
- การใช้งาน
- ฟรี · ไม่ต้องสมัครสมาชิก
ทำไมมันสำคัญ
ออกแบบมาสำหรับทุกคนที่อ่าน JSON ทุกวัน
คำตอบจาก API, ไฟล์การตั้งค่า, ข้อมูลบันทึก — JSON ดิบมาหนึ่งบรรทัดแน่น อ่านง่าย ขอค้นหาเครื่องหมายจุลภาคที่หายไป แล้วกู้คืนตามที่คุณต้องการ
ทำให้สวยขึ้น & ย่อขนาด
คลิกเดียวสลับระหว่างต้นไม้ที่มนุษย์อ่านได้กับบรรทัดเดียวที่กะทัดรัด เลือก 2 ช่องว่าง, 4 ช่องว่าง หรือแท็บเพื่อให้ตรงกับสไตล์ของโค้ดเบสของคุณ
ข้อผิดพลาดระบุตามบรรทัดและคอลัมน์
JSON ที่ไม่ถูกต้องแสดงตำแหน่งที่แน่นอน — L12 : C34 — แทนที่ข้อความของตัวแปลที่ไม่ชัดเจน เพื่อให้คุณข้ามไปยังเครื่องหมายจุลภาคที่หายไปหรือเครื่องหมายคำพูดสุดท้ายทันที
การเรียงลำดับคีย์แบบเรcurซีฟ
เรียงลำดับคีย์ของอ็อบเจกต์ตามตัวอักษรในทุกระดับความลึก ในขณะที่อาร์เรย์เก็บลำดับไว้ เหมาะสำหรับการเปรียบเทียบไฟล์การตั้งค่าและทำให้ไฟล์ตัวอย่างคงที่ระหว่างการคอมมิต
หนี / ยกเลิกการหนีตัวอักษร
แปลง JSON เป็นตัวอักษรสตริงที่ถูกหนี เพื่อฝังลงในโค้ดหรือไฟล์ env และคลายตัวอักษรที่มีเครื่องหมายคำพูดกลับเป็น JSON ดิบเพื่อตรวจสอบ
คลิกที่ฟิลด์ใดก็ตามเพื่อดูแบบเต็ม
คลิกฟิลด์ใดๆ ใน editor แล้วแถบด้านข้างจะเปิดขึ้นพร้อมค่า ประเภท และพาธ JSON ทั้งหมดของฟิลด์นั้น รวมถึงอ็อบเจกต์และอาร์เรย์ที่ซ้อนกัน ดังนั้นคุณจึงไม่ต้องนับวงเล็บด้วยตาเองอีกต่อไป
ทำงานแบบไม่ต้องเชื่อมต่ออินเทอร์เน็ตโดยสิ้นเชิง
JSON ไม่เคยออกจากเบราว์เซอร์ของคุณ เครื่องมือสามารถทำงานแบบออฟไลน์ และไม่มีการส่งคำขอใดๆ ในขณะที่อินพุตว่างเปล่า
วิธีการทำงาน
สลับการเยื้องระหว่าง 2 ช่องว่าง, 4 ช่องว่าง และแท็บ ย่อข้อความให้เป็นบรรทัดเดียวเมื่อส่งไปให้เครื่อง เรียงคีย์ของอ็อบเจกต์แบบเรียงซ้อนเมื่อคุณต้องการลำดับที่มั่นคง หรือแปลงเพย์โหลดทั้งหมดให้เป็นสตริงลิเทอรัล — และยกเลิกการแปลงลิเทอรัลที่มีเครื่องหมายคำพูดซึ่งคัดลอกมาจากบรรท็ดล็อก
คลิกฟิลด์ใดๆ เพื่อตรวจสอบค่าทั้งหมดของมันในแถบด้านข้าง และคีย์, รายการอาร์เรย์ และระดับการซ้อนจะอัปเดตเมื่อคุณพิมพ์ เปิดเอกสารหลายฉบับในหน้าเดียวกันและเปรียบเทียบได้อย่างรวดเร็ว แต่ละฉบับมี editor ของตัวเอง ทุกอย่างทำงานในเครื่องในเบราว์เซอร์ของคุณ และไม่มีอะไรถูกอัปโหลดเลย
เครื่องมือ JSON เพิ่มเติม
เครื่องมือของบุคคลที่สามที่คัดเลือกตามวัตถุประสงค์ — เราไม่ทำซ้ำที่นี่ ดังนั้นไปลองใช้เมื่อคุณต้องการก็ได้
| เครื่องมือ | วัตถุประสงค์ | สิ่งที่ทำได้ |
|---|---|---|
| JSON Editor Online | แก้ไข & ตรวจสอบความถูกต้อง | บานหน้าต่างข้อความและต้นแบบที่เชื่อมโยง, การจัดโครงสร้างแบบลากและวาง, รวมถึง diff, การตรวจสอบความถูกต้องของสคีมาและการสืบค้น |
| JSON Crack | สร้างภาพ | แปลง JSON เป็นกราฟโหนดแบบโต้ตอบเพื่อเข้าใจโครงสร้างซ้อนลึกหรือสร้างตัวอย่างอย่างรวดเร็ว |
| JSON Visio | สร้างภาพ | โปรแกรมดูกราฟอีกตัวที่มี UI ที่เบากว่า — เลือกตัวไหนที่รู้สึกเป็นธรรมชาติมากกว่าของสองตัวก็ได้ |
| Diffchecker | เปรียบเทียบ | เปรียบเทียบข้อความสองข้อความแบบเคียงข้างกันหรือในมุมมองรวม และกระโดดตรงไปยังบรรทัดที่เพิ่ม ลบ หรือเปลี่ยนแปลง |
| JSONPath | ค้นหาข้อมูล | เรียกใช้นิพจน์ JSONPath ออนไลน์ และดึงฟิลด์ที่คุณต้องการออกมาตามเส้นทาง |
| JSONata | ค้นหาและแปลงข้อมูล | ภาษาสำหรับค้นหาและแปลงข้อมูล JSON พร้อม playground ตัวอย่างออนไลน์ |
| quicktype | สร้าง type | สร้างคำจำกัดความ TypeScript, Swift, Go และ type อื่น ๆ จาก JSON |
| JSON Generator | ข้อมูลจำลอง | สร้างข้อมูลจำลองที่มีโครงสร้างจากแม่แบบ — สะดวกสำหรับอุปกรณ์ประกอบการทดสอบ API |
รายละเอียดเกี่ยวกับการจัดรูปแบบ JSON
JSON ดูเหมือนง่าย แต่มีกฎที่เข้มงวดไม่กี่ข้อ — การเข้าใจกฎเหล่านี้จะช่วยคุณประหยัดเวลาในการส่งคำขอใหม่ทุกครั้งที่ตัวแยกวิเคราะห์ปฏิเสธเพย์โหลดของคุณ
อะไรถือว่าเป็น JSON ที่ถูกต้อง?
JSON กำหนดประเภทค่า 6 ประเภท ได้แก่ อ็อบเจกต์, อาร์เรย์, สตริง, ตัวเลข, บูลีน และ null คีย์ต้องเป็นสตริงที่มีเครื่องหมายคำพูดคู่ ไม่มีคอมม่าในตอนท้าย และไม่อนุญาตให้ใส่คำอธิบายประกอบ
สิ่งเพิ่มเติมของจาวาสคริปต์ เช่น เครื่องหมายคำพูดเดี่ยว, undefined, NaN, Infinity และคอมม่าในตอนท้าย ล้วนจะล้มเหลวในการตรวจสอบของตัวแยกวิเคราะห์ที่เข้มงวด — ซึ่งเป็นสิ่งที่เครื่องมือนี้จะตรวจจับ
การดูต่างจากการจัดรูปแบบอย่างไร?
การจัดรูปแบบจะเปลี่ยนเลย์เอาต์ของข้อความ: การเยื้อง, การขึ้นบรรทัด และการย่อข้อความ การดูจะทำให้เอกสารไม่เปลี่ยนแปลง — เมื่อคุณคลิกฟิลด์, ค่าประเภท และพาธ JSON ทั้งหมดของมันจะปรากฏในแถบด้านข้าง
อ็อบเจกต์ที่ซ้อนกันลึกๆ อ่านยากจากวงเล็บเพียงอย่างเดียว ดังนั้นการคลิกฟิลด์จะช่วยคุณยืนยันได้อย่างชัดเจนว่ามันมีอะไรบ้าง — ซึ่งมีประโยชน์อย่างยิ่งกับการตอบกลับ API และเพย์โหลดล็อก
ทำไมลำดับคีย์ของฉันเปลี่ยนหลังจากจัดรูปแบบ?
ข้อกำหนด JSON ถือว่าวัตถุเป็นคู่คีย์-ค่าที่ไม่มีลำดับ และโปรแกรมแปลงข้อมูลสามารถจัดเรียงใหม่ได้โดยอิสระ ในทางปฏิบัติ V8 (Chrome / Node) จะเก็บลำดับการแทรกสำหรับคีย์สตริง แต่คีย์คล้ายจำนวนเต็ม ("1", "42") จะเรียงลำดับตัวเลขก่อนเสมอ เปิดใช้งาน "Sort object keys" หากคุณต้องการลำดับอักษรที่มีเสถียรภาพและคงอยู่แม้จะผ่านโปรแกรมแปลงข้อมูลใด ๆ — มีประโยชน์สำหรับการเปรียบเทียบความแตกต่างของไฟล์การกำหนดค่า
JSON สามารถเก็บจำนวนได้มากขนาดไหน?
JSON เองไม่กำหนดขีดจำกัด แต่ JavaScript แปลงจำนวนทุกตัวให้เป็น IEEE-754 double จำนวนเต็มที่เกิน ±2^53 (ประมาณ 9 พันล้านล้าน) จะสูญเสียความแม่นยำ — 9007199254740993 กลายเป็น 9007199254740992 หากข้อมูลที่คุณส่งมี ID 64-bit หรือเวลาในหน่วยนาโน วิธีที่ดีที่สุดคือเก็บเป็นสตริง เครื่องมือนี้จะไม่ทำให้ข้อมูลเสียหาย แต่หากคุณวางลงในโค้ด JS จะเกิดปัญหา
เมื่อไหร่ควรใช้ minify แทน beautify?
ใช้ beautify สำหรับสิ่งที่มนุษย์อ่านได้: การตรวจสอบโค้ด, การดีบัก, เอกสารประกอบ ใช้ minify สำหรับสิ่งที่เครื่องจักรจัดส่ง: เนื้อหา API, พารามิเตอร์ URL, ตัวแปรสภาพแวดล้อม และไฟล์ .env การทำ minify ให้กับเนื้อหา API ทั่วไปจะช่วยลดขนาดได้ 15–30% โดยไม่เปลี่ยนโครงสร้างเลย — นี่คือวิธีบีบอัดที่ประหยัดที่สุด
การ escape ใช้ทำอะไร?
การ escape ห่อ JSON ในรูปแบบสตริงลิเตอเริล: เครื่องหมายคำพูดกลายเป็น \" และขึ้นบรรทัดใหม่กลายเป็น \n เพื่อให้สามารถใส่ไว้ในค่า JSON อื่น, คำสั่งเชลล์ หรือตัวแปรสภาพแวดล้อมโดยไม่ทำให้เกิดปัญหา Unescape ทำกลับ หากคุณเคยคัดลอกข้อมูลออกจากบรรทัดบันทึกที่ดูเหมือน {\"a\":1} นี่คือรูปแบบ — วางที่นี่แล้วกด Unescape
คำถามที่พบบ่อย
JSON ของฉันถูกอัปโหลดหรือจัดเก็บที่ไหนหรือไม่?
ไม่ ทุกอย่างทำงานในเบราว์เซอร์ของคุณด้วย JavaScript — ไม่มีคำขอใด ๆ ที่ส่ง JSON ของคุณไปไหนเลย มันทำงานแบบออฟไลน์ และไม่มีอะไรเขียนลงใน Local Storage ดังนั้นการรีเฟรชหน้าจะล้างอินพุต
ทำไมการจัดรูปแบบล้มเหลวในไฟล์การกำหนดค่าของฉัน?
มีความเป็นไปได้สูงที่มันไม่ใช่ JSON ที่เข้มงวด: JSONC / JSON5 อนุญาตความคิดเห็นและเครื่องหมายจุลภาคสุดท้าย, YAML อาศัยการเยื้อง, และไฟล์ .env เป็นคู่ key=value ก่อนอื่นให้ลบความคิดเห็นและเครื่องหมายจุลภาคสุดท้าย หรือใช้โปรแกรมแปลงข้อมูลที่ทำมาสำหรับรูปแบบนั้น
การเรียงคีย์จะเปลี่ยนอาร์เรย์ด้วยหรือไม่?
ไม่ เรียงลำดับของอาร์เรย์มีความหมาย (รายการแรก รายการที่สอง…) ดังนั้นอาร์เรย์จึงถูกทิ้งไว้ในตำแหน่งเดิมเสมอ มีการเรียงเฉพาะคีย์ของอ็อบเจ็กต์เท่านั้น — รวมถึงอ็อบเจ็กต์ที่ซ้อนอยู่ในอาร์เรย์ — ตามลำดับอักษร
"Error near L12 : C34" หมายถึงอะไร?
นี่คือหมายเลขบรรทัดและคอลัมน์เริ่มนับจากหนึ่งที่ตัวแยกวิเคราะห์ (parser) หยุดทำงาน: บรรทัดที่ 12 คอลัมน์ที่ 34 โดยปกติข้อผิดพลาดจริงจะอยู่ที่หรือก่อนหน้าจุดนั้น — เช่น เครื่องหมายจุลภาคหายไปที่บรรทัดก่อนหน้า เครื่องหมายคำพูดไม่ได้ escape หรือเครื่องหมายจุลภาคท้ายก่อนวงเล็บปิด
มีขนาดจำกัดหรือไม่? ใช้งานได้บนมือถือหรือไม่?
ไม่มีขีดจำกัดที่ชัดเจน — สามารถจัดรูปแบบเอาต์พุตบันทึกขนาดไม่กี่เมกะไบต์ได้ บนอุปกรณ์ระดับล่าง อินพุตขนาดใหญ่มาก (หลายสิบเมกะไบต์) อาจรู้สึกว่ามีความล่าช้าเนื่องจากต้องแยกวิเคราะห์และจัดรูปแบบใหม่ทุกครั้งที่กดปุ่ม ตัวเลย์เอาต์ตอบสนองความกว้างของหน้าจอ; โปรแกรมแก้ไขจะปรับให้เข้ากับความกว้างหน้าจอ