เครื่องมือแก้ไขข้อความ

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

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

จัดรูปแบบและบีบขนาด ตรวจสอบฟิลด์ใดก็ตาม ข้อผิดพลาดบรรทัด/คอลัมน์ ใช้งานฝั่งไคลเอ็นต์ 100%
เยื้อง

ทำไมมันสำคัญ

ออกแบบมาสำหรับทุกคนที่อ่าน JSON ทุกวัน

คำตอบจาก API, ไฟล์การตั้งค่า, ข้อมูลบันทึก — JSON ดิบมาหนึ่งบรรทัดแน่น อ่านง่าย ขอค้นหาเครื่องหมายจุลภาคที่หายไป แล้วกู้คืนตามที่คุณต้องการ

01

ทำให้สวยขึ้น & ย่อขนาด

คลิกเดียวสลับระหว่างต้นไม้ที่มนุษย์อ่านได้กับบรรทัดเดียวที่กะทัดรัด เลือก 2 ช่องว่าง, 4 ช่องว่าง หรือแท็บเพื่อให้ตรงกับสไตล์ของโค้ดเบสของคุณ

02

ข้อผิดพลาดระบุตามบรรทัดและคอลัมน์

JSON ที่ไม่ถูกต้องแสดงตำแหน่งที่แน่นอน — L12 : C34 — แทนที่ข้อความของตัวแปลที่ไม่ชัดเจน เพื่อให้คุณข้ามไปยังเครื่องหมายจุลภาคที่หายไปหรือเครื่องหมายคำพูดสุดท้ายทันที

03

การเรียงลำดับคีย์แบบเรcurซีฟ

เรียงลำดับคีย์ของอ็อบเจกต์ตามตัวอักษรในทุกระดับความลึก ในขณะที่อาร์เรย์เก็บลำดับไว้ เหมาะสำหรับการเปรียบเทียบไฟล์การตั้งค่าและทำให้ไฟล์ตัวอย่างคงที่ระหว่างการคอมมิต

04

หนี / ยกเลิกการหนีตัวอักษร

แปลง JSON เป็นตัวอักษรสตริงที่ถูกหนี เพื่อฝังลงในโค้ดหรือไฟล์ env และคลายตัวอักษรที่มีเครื่องหมายคำพูดกลับเป็น JSON ดิบเพื่อตรวจสอบ

05

คลิกที่ฟิลด์ใดก็ตามเพื่อดูแบบเต็ม

คลิกฟิลด์ใดๆ ใน editor แล้วแถบด้านข้างจะเปิดขึ้นพร้อมค่า ประเภท และพาธ JSON ทั้งหมดของฟิลด์นั้น รวมถึงอ็อบเจกต์และอาร์เรย์ที่ซ้อนกัน ดังนั้นคุณจึงไม่ต้องนับวงเล็บด้วยตาเองอีกต่อไป

06

ทำงานแบบไม่ต้องเชื่อมต่ออินเทอร์เน็ตโดยสิ้นเชิง

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 หรือเครื่องหมายจุลภาคท้ายก่อนวงเล็บปิด

มีขนาดจำกัดหรือไม่? ใช้งานได้บนมือถือหรือไม่?

ไม่มีขีดจำกัดที่ชัดเจน — สามารถจัดรูปแบบเอาต์พุตบันทึกขนาดไม่กี่เมกะไบต์ได้ บนอุปกรณ์ระดับล่าง อินพุตขนาดใหญ่มาก (หลายสิบเมกะไบต์) อาจรู้สึกว่ามีความล่าช้าเนื่องจากต้องแยกวิเคราะห์และจัดรูปแบบใหม่ทุกครั้งที่กดปุ่ม ตัวเลย์เอาต์ตอบสนองความกว้างของหน้าจอ; โปรแกรมแก้ไขจะปรับให้เข้ากับความกว้างหน้าจอ

เครื่องมือที่เกี่ยวข้อง