# JSON Formatter

URL: https://discuvr.org/json-formatter/?hl=th
Last updated: 2026-11-07
MCP tool: `format_json`

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

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

## การทำงาน

- จัดสวยด้วยช่องว่าง 2 ช่อง 4 ช่อง หรือแท็บ - หรือย่อขนาดให้เป็นรูปแบบที่ถูกต้องที่เล็กที่สุด
- เอาต์พุต JSON Lines: หนึ่งเรคคอร์ดแบบกะทัดรัดต่อบรรทัด สำหรับล็อกและรูปแบบสตรีม
- ข้อผิดพลาดที่แม่นยำ - ข้อความ บรรทัด คอลัมน์ และบรรทัดโดยรอบ
- เลือกเรียงคีย์ของทุกออบเจ็กต์ได้ตามต้องการ เพื่อให้เปรียบเทียบเอกสารสองฉบับได้อย่างมีเหตุผล
- เลือกเอสเคปอักขระที่ไม่ใช่ ASCII เป็น \uXXXX สำหรับระบบที่รองรับ UTF-8 ไม่ได้
- เลือกยอมรับคอมเมนต์และคอมมาท้ายรายการได้ และจะบอกอย่างชัดเจนว่าลบอะไรไปบ้าง
- รายงานโครงสร้างของเอกสาร: คีย์ ออบเจ็กต์ อาร์เรย์ ความลึกของการซ้อน และขนาดที่ประหยัดได้

## วิธีใช้งาน

1. วาง JSON หรือสิ่งที่คุณหวังว่าจะเป็น JSON
2. เลือกจัดสวย ย่อขนาด หรือ JSON Lines แล้วกดจัดรูปแบบ
3. คัดลอกหรือดาวน์โหลดผลลัพธ์ - หรืออ่านข้อผิดพลาดแล้วแก้ไขบรรทัดที่ระบุไว้

## ทำไมข้อความแสดงข้อผิดพลาดจึงสำคัญกว่าการจัดรูปแบบ

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

## คอมเมนต์และคอมมาท้ายรายการ

JSON ไม่เคยอนุญาตให้ใช้ทั้งสองอย่างนี้ แต่ไฟล์ที่ผู้คนส่งให้คุณจริง ๆ - tsconfig การตั้งค่า VS Code อะไรก็ตามที่แก้ไขด้วยมือ - เต็มไปด้วยสิ่งเหล่านี้ การติ๊กตัวเลือกนี้จะลบออกก่อนการแยกวิเคราะห์ และเครื่องมือจะระบุว่าลบคอมเมนต์และคอมมาไปกี่รายการ เป็นตัวเลือกเสริมและรายงานอย่างแม่นยำเพราะตัวจัดรูปแบบที่เปลี่ยนเอกสารของคุณอย่างเงียบ ๆ นั้นแย่กว่าตัวที่ปฏิเสธมัน

## สิ่งที่มันไม่ทำ

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

## ตัวเลข คีย์ซ้ำ และ NaN

JSON ของคุณจะถูกแยกวิเคราะห์แล้วเขียนออกมาใหม่ บางอย่างจึงกลับมาในรูปแบบที่ปรับให้เป็นมาตรฐาน ตัวเลขจะถูกเขียนใหม่: 1.50 กลายเป็น 1.5, 1E3 กลายเป็น 1000.0 และ -0 กลายเป็น 0 ส่วนทศนิยมที่มีหลักมากกว่าที่ float 64 บิตเก็บได้จะถูกปัดเศษ (0.1000000000000000055 กลายเป็น 0.1) จำนวนเต็มจะคงค่าเดิมทุกหลักได้ถึง 4,300 หลัก (ที่ยาวกว่านั้นจะถูกปฏิเสธ) ถ้าออบเจ็กต์มีคีย์ซ้ำ จะเหลือเฉพาะค่าสุดท้ายโดยไม่มีคำเตือน NaN, Infinity และ -Infinity จะถูกยอมรับและส่งผ่านตามเดิม แม้ JSON มาตรฐาน (RFC 8259) จะไม่อนุญาต และตัวเลขที่ใหญ่เกินกว่า float จะรับได้ เช่น 1e400 จะออกมาเป็น Infinity หากเรื่องใดในนี้สำคัญกับระบบที่คุณจะส่งข้อมูลเข้าไป ให้ตรวจสอบเองก่อนเชื่อผลลัพธ์ที่ไม่มีข้อผิดพลาด

## คำถาม

**JSON ของฉันถูกอัปโหลดหรือจัดเก็บไว้ที่ไหนหรือไม่**

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

**ทำไมมันถึงบอกว่า JSON ของฉันไม่ถูกต้องทั้งที่เอดิเตอร์ของฉันยอมรับมัน**

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

**มันรองรับไฟล์ขนาดใหญ่ได้ไหม**

สูงสุด 2,000,000 ตัวอักษรต่อคำขอ ข้อความที่ยาวกว่านั้นจะถูกปฏิเสธพร้อมแจ้งความยาวที่แน่นอน สำหรับไฟล์ขนาดนั้น เครื่องมือบรรทัดคำสั่งอย่าง jq เป็นเครื่องมือที่ดีกว่า

**JSON Lines มีไว้ทำอะไร**

ไปป์ไลน์ล็อกและตัวโหลดสตรีมจะอ่านออบเจ็กต์ JSON หนึ่งรายการต่อบรรทัดแทนที่จะเป็นอาร์เรย์ขนาดใหญ่หนึ่งชุด เลือกตัวเลือกนี้แล้วอาร์เรย์ระดับบนสุดจะกลับมาเป็นเรคคอร์ดแบบกะทัดรัดหนึ่งรายการต่อบรรทัด

**การเรียงคีย์เปลี่ยนข้อมูลของฉันหรือไม่**

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

**เปิด JSON นี้ใน Excel ได้อย่างไร**

ใน Excel สำหรับ Microsoft 365 ให้บันทึกเป็นไฟล์ .json แล้วเลือก Data > Get Data > From File > From JSON จากนั้น Power Query จะเปิดขึ้น อาร์เรย์ระดับบนสุดจะแสดงเป็น List ปุ่ม To Table จะแปลงเป็นคอลัมน์ของ Records และปุ่มขยาย (ลูกศรสองอัน) ที่หัวคอลัมน์จะแยกแต่ละคีย์ออกเป็นคอลัมน์ของตัวเอง การขยายอาร์เรย์ที่ซ้อนอยู่จะเพิ่มหนึ่งแถวต่อหนึ่งรายการ Power Query ต้องการเอกสาร JSON ที่ถูกต้องเพียงหนึ่งเอกสาร จึงควรแก้ข้อผิดพลาดที่นี่ก่อน ซึ่งจะบอกบรรทัดและคอลัมน์ แล้วบันทึกผลจาก จัดรูปแบบ หรือ ย่อขนาด ส่วนผลแบบ JSON Lines มีไว้สำหรับเครื่องมือจัดการล็อก เครื่องมือนี้ไม่ได้แปลง JSON เป็น CSV หรือ Excel เอง

**จะตรวจสอบหรือจัดรูปแบบ JSON จากบรรทัดคำสั่งได้อย่างไร**

Python มีตัวตรวจสอบมาให้แล้ว: python -m json.tool data.json จะแสดงเอกสารพร้อมการเยื้อง 4 ช่องว่าง หรือหยุดพร้อมข้อความเช่น Expecting ',' delimiter: line 3 column 3 ถ้าติดตั้ง jq ไว้ jq . data.json จะจัดรูปแบบ ส่วน jq empty data.json จะตรวจสอบอย่างเดียวและไม่แสดงอะไรเลยเมื่อไฟล์ถูกต้อง ทั้งสองแบบไม่รับความคิดเห็นหรือเครื่องหมายจุลภาคต่อท้าย ไฟล์ตั้งค่าที่มีสิ่งเหล่านี้จึงไม่ผ่าน ให้วางไฟล์ที่นี่แล้วเลือก "อนุญาตความคิดเห็นและเครื่องหมายจุลภาคต่อท้าย" เพื่อดูว่าอะไรถูกลบออกไป

**"Expecting property name enclosed in double quotes" หมายความว่าอะไร**

ตัวแยกวิเคราะห์คาดว่าจะเจอคีย์ของออบเจ็กต์แต่กลับเจอสิ่งอื่น ส่วนใหญ่เป็นเพราะคีย์ใช้เครื่องหมายคำพูดเดี่ยวหรือไม่มีเครื่องหมายคำพูดเลย เช่น {'name': 'Asha'} ที่คัดลอกมาจาก Python หรือ JavaScript ซึ่งจะหยุดที่บรรทัด 1 คอลัมน์ 2 เพราะ JSON กำหนดให้ทุกคีย์และทุกสตริงอยู่ในเครื่องหมายคำพูดคู่ และเครื่องมือนี้ไม่เคยแก้เครื่องหมายคำพูดให้ จึงต้องแก้เอง ถ้าข้อความเดียวกันขึ้นที่วงเล็บปีกกาปิด เช่นใน {"a": 1,} แปลว่ามีเครื่องหมายจุลภาคต่อท้าย ให้เลือก "อนุญาตความคิดเห็นและเครื่องหมายจุลภาคต่อท้าย" เพื่อลบออก ส่วน Expecting value ที่ True, False หรือ None แปลว่าเป็นค่าของ Python เพราะ JSON เขียน true, false และ null เป็นตัวพิมพ์เล็ก ใน Python คำสั่ง json.dumps(data) ให้ JSON ที่ถูกต้อง แต่ print(data) ไม่ใช่ ข้อผิดพลาดจะแสดงตามที่ตัวแยกวิเคราะห์ของ Python เขียนไว้เป็นภาษาอังกฤษ เพื่อให้ค้นหาข้อความนั้นได้ตรงตัว

**"Extra data" หมายความว่าอะไร**

ตัวแยกวิเคราะห์อ่านค่า JSON ครบหนึ่งค่าแล้วยังเจอข้อความต่อท้ายอีก สาเหตุที่พบบ่อยคือ ล็อกแบบ JSON Lines (NDJSON) ที่มีหนึ่งออบเจ็กต์ต่อบรรทัด ซึ่งจะหยุดที่บรรทัด 2 คอลัมน์ 1 หรือเอกสารสองชุดที่วางต่อกัน หรือความคิดเห็น // หลังวงเล็บปีกกาปิดตัวสุดท้าย ซึ่งตัวเลือก "อนุญาตความคิดเห็นและเครื่องหมายจุลภาคต่อท้าย" จะลบให้ เครื่องมือนี้ตรวจทีละเอกสาร จึงควรวางทีละระเบียน หรือใส่ระเบียนทั้งหมดไว้ใน [ ] โดยคั่นด้วยเครื่องหมายจุลภาค จากนั้นเมื่อเลือก JSON Lines ก็จะได้ผลลัพธ์บรรทัดละหนึ่งระเบียนเหมือนเดิม

## เพิ่มเติมใน เครื่องมือนักพัฒนา

- [เครื่องมือจัดรูปแบบ Python](https://discuvr.org/python-formatter/?hl=th)
- [เครื่องมือดู HTML](https://discuvr.org/html-viewer/?hl=th)
- [เครื่องคำนวณซับเน็ต IP](https://discuvr.org/ip-subnet-calculator/?hl=th)
- [เข้ารหัส / ถอดรหัส](https://discuvr.org/encode-decode/?hl=th)

## มักใช้ร่วมกับ

- [CSV เป็น Excel](https://discuvr.org/csv-to-excel/?hl=th)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
