การตรวจสอบความถูกต้องและโครงสร้างไวยากรณ์ JSON
JSON (JavaScript Object Notation) เป็นรูปแบบการแลกเปลี่ยนข้อมูลมาตรฐานที่ใช้กันอย่างแพร่หลายในระบบ API และการแลกเปลี่ยนข้อมูลระหว่างระบบ อย่างไรก็ตาม ข้อผิดพลาดเพียงเล็กน้อยในไวยากรณ์ก็สามารถทำให้ระบบไม่สามารถประมวลผลข้อมูลได้ เครื่องมือจัดรูปแบบ JSON นี้ช่วยให้คุณตรวจสอบความถูกต้องของข้อมูลได้อย่างรวดเร็ว โดยระบบจะแสดงสถานะ "JSON ถูกต้อง" เมื่อข้อมูลถูกต้อง หรือแสดง "JSON ไม่ถูกต้อง" พร้อมระบุตำแหน่งข้อผิดพลาดอย่างแม่นยำ เช่น "บรรทัดที่ {line}, คอลัมน์ที่ {col}" เพื่อให้คุณสามารถกดปุ่ม "ไปยังจุดที่ผิดพลาด" ได้ทันที
เครื่องมือนี้สามารถตรวจจับและระบุสาเหตุของข้อผิดพลาดทั่วไปได้อย่างละเอียด ได้แก่:
- "ขาดเครื่องหมายจุลภาคระหว่างรายการ"
- "มีเครื่องหมายจุลภาคเกินมาก่อนวงเล็บปิด"
- "คีย์ของอ็อบเจกต์ต้องอยู่ในเครื่องหมายคำพูดคู่"
- "ขาดเครื่องหมายทวิภาคหลังชื่อพร็อพเพอร์ตี้"
- "มีสตริงที่ขาดเครื่องหมายคำพูดปิดท้าย"
- "JSON จบเร็วเกินไป ดูเหมือนข้อมูลจะถูกตัดขาด"
- "พบตัวอักษรที่ไม่คาดคิดในตำแหน่งที่ควรเป็นค่า"
- "JSON นี้ซ้อนกันลึกเกินกว่าจะประมวลผลได้"
- "คีย์
{key}ซ้ำกัน โปรดลบออกหนึ่งรายการก่อนจัดรูปแบบ" ซึ่งเครื่องมือจะแจ้งเตือนข้อผิดพลาดแทนการรวมคีย์หรือละทิ้งข้อมูลโดยไม่แจ้งให้ทราบ
การจัดรูปแบบและการบีบอัดข้อมูล JSON
การอ่านข้อมูล JSON ที่ส่งมาจาก API หรือไฟล์กำหนดค่าระบบมักทำได้ยากเนื่องจากข้อมูลถูกบีบอัดมาในบรรทัดเดียว เครื่องมือนี้ช่วยให้คุณสามารถเลือก "การย่อหน้า" ตามระดับที่ต้องการเพื่อจัดรูปแบบให้อ่านง่ายขึ้น เมื่อดำเนินการเสร็จสิ้นจะแสดงข้อความ "จัดรูปแบบ JSON แล้ว"
ในทางกลับกัน หากต้องการนำข้อมูลไปใช้งานจริงในระบบโปรดักชันเพื่อลดขนาดพื้นที่จัดเก็บหรือลดปริมาณการรับส่งข้อมูลผ่านเครือข่าย คุณสามารถเลือกดำเนินการ "บีบอัด" เพื่อลบช่องว่างและการขึ้นบรรทัดใหม่ที่ไม่จำเป็นออกทั้งหมด โดยระบบจะแสดงสถานะ "บีบอัด JSON แล้ว" นอกจากนี้ยังมีฟังก์ชัน "เรียงคีย์" ซึ่งจะทำงานภายใต้เงื่อนไข "เรียงคีย์ของอ็อบเจ็กต์แบบเวียนซ้ำตามลำดับโค้ดพอยต์ ลำดับของอาร์เรย์จะไม่เปลี่ยน" และเมื่อดำเนินการแล้วจะแสดงข้อความ "เรียงคีย์แล้ว — ลำดับอาร์เรย์ไม่เปลี่ยน กด Ctrl/Cmd+Z เพื่อเลิกทำ"
การสำรวจข้อมูลด้วยมุมมองโครงสร้างต้นไม้และการดึงข้อมูล
สำหรับข้อมูล JSON ที่มีความซับซ้อนและมีขนาดใหญ่ คุณสามารถสลับจากมุมมอง "โค้ด" ไปเป็นมุมมอง "โครงสร้างต้นไม้" เพื่อสำรวจโครงสร้างข้อมูลในรูปแบบ Interactive ได้ โดยมีฟังก์ชันและข้อจำกัดในการใช้งานดังนี้:
- การค้นหาข้อมูล: มีช่อง "ค้นหาคีย์และค่า" พร้อมปุ่ม "รายการที่ตรงกันก่อนหน้า" และ "รายการที่ตรงกันถัดไป" โดยจะแสดงจำนวนผลลัพธ์ในรูปแบบ "
{current}จาก{total}" หรือ "{current}จาก{total}+" ในกรณีที่มีรายการตรงกันจำนวนมาก หรือแสดง "ไม่พบรายการที่ตรงกัน" - การควบคุมการแสดงผล: สามารถใช้ปุ่ม "ขยายทั้งหมด" หรือ "ยุบทั้งหมด" รวมถึงปุ่มเฉพาะจุดอย่าง "ขยาย
{key}" และ "ยุบ{key}" - ข้อจำกัดด้านขนาด: หากข้อมูลมีขนาดใหญ่เกินไป ระบบจะแสดงข้อความแจ้งเตือน เช่น "แก้ไข JSON ให้ถูกต้องเพื่อดูในรูปแบบโครงสร้างต้นไม้ (Tree)", "JSON นี้มีขนาดใหญ่เกินกว่าจะแสดงผลในรูปแบบโครงสร้างต้นไม้ (Tree) ได้", "JSON นี้มีค่ามากเกินกว่าจะแสดงผลเป็นโครงสร้างต้นไม้ได้" หรือ "JSON นี้มีขนาดใหญ่เกินกว่าจะขยายได้ทั้งหมด จึงแสดงเพียง
{count}แถวแรก" พร้อมปุ่ม "แสดงเพิ่มอีก{count}รายการ…" - การคัดลอกเส้นทางข้อมูล: ในเมนู "ตัวเลือกการคัดลอกสำหรับ
{key}" คุณสามารถเลือก "คัดลอกค่า", "คัดลอก JSON Pointer" หรือ "คัดลอก JSONPath" เพื่อนำไปใช้ในการดึงข้อมูลเฉพาะส่วนได้อย่างแม่นยำ
การรองรับรูปแบบข้อมูลใกล้เคียงและการซ่อมแซมไวยากรณ์อัตโนมัติ
เครื่องมือนี้มีความสามารถในการตรวจจับรูปแบบข้อมูลที่มีลักษณะใกล้เคียงกับ JSON แต่ไม่เป็นไปตามมาตรฐานสากล และช่วยซ่อมแซมให้เป็น JSON ที่ถูกต้องได้ผ่านปุ่ม "ดูตัวอย่างการซ่อม" ซึ่งจะแสดงหน้าต่าง "ตัวอย่างการซ่อม" เปรียบเทียบระหว่าง "ต้นฉบับ" และ "หลังซ่อม" โดยมีรายละเอียดการตรวจจับและการดำเนินการดังนี้:
| รูปแบบที่ตรวจพบ | ข้อความแจ้งเตือนจากระบบ | การดำเนินการเมื่อกด "ใช้การซ่อม" |
|---|---|---|
| Markdown Code Fence | "ดูเหมือน JSON ที่อยู่ในบล็อกโค้ด Markdown" | "เมื่อใช้ จะเก็บเฉพาะ JSON ภายในบล็อกโค้ด" |
| Escaped String | "ดูเหมือน JSON ที่ถูก escape อยู่ในสตริง" | "เมื่อใช้ สตริงจะถูกถอด escape ให้เป็น JSON ปกติ" |
| Python Dictionary | "ดูเหมือนดิกชันนารีสไตล์ Python ไม่ใช่ JSON" | "เมื่อใช้ เครื่องหมายคำพูดและ True/False/None จะถูกเขียนใหม่เป็น JSON" |
| JSON Lines | "ดูเหมือน JSON Lines — หนึ่งค่าต่อบรรทัด" | "เมื่อใช้ แต่ละบรรทัดจะถูกรวมเป็นอาร์เรย์ JSON เดียว" |
| JSONP Callback | "ดูเหมือน JSON ที่ถูกห่อด้วย callback แบบ JSONP" | "เมื่อใช้ ตัวห่อ callback จะถูกลบออก" |
| JSONC | "ดูเหมือน JSONC — มีคอมเมนต์หรือจุลภาคท้าย ให้สลับไวยากรณ์เป็น JSONC หรือใช้การซ่อม" | "เมื่อใช้ คอมเมนต์และจุลภาคท้ายจะถูกลบออก" |
หากการซ่อมแซมสำเร็จ ระบบจะแสดงข้อความ "ใช้การซ่อมแล้ว กด Ctrl/Cmd+Z เพื่อเลิกทำ" แต่หากไม่สามารถดำเนินการได้จะแจ้งว่า "ไม่สามารถซ่อมข้อมูลนี้โดยอัตโนมัติได้" ในกรณีที่ข้อมูลยาวเกินไปอาจพบข้อความ "ตัวอย่างถูกตัดให้สั้นลง — การซ่อมมีผลกับทั้งเอกสาร" นอกจากนี้คุณยังสามารถเลือกประเภท "ไวยากรณ์" ระหว่าง "JSON" และ "JSONC" ได้โดยตรงจากตัวเลือกบนหน้าจอ
ข้อจำกัดทางเทคนิคและการจัดการไฟล์ข้อมูล
การใช้งานเครื่องมือจัดรูปแบบ JSON มีข้อกำหนดและข้อจำกัดทางเทคนิคที่ควรทราบเพื่อการใช้งานอย่างมีประสิทธิภาพดังนี้:
- การนำเข้าไฟล์: รองรับการลากและวางไฟล์ หรือคลิก "เปิดไฟล์" เฉพาะไฟล์นามสกุล
.jsonหรือ.txtเท่านั้น หากเลือกไฟล์ประเภทอื่นจะแสดงข้อความ "ไม่รองรับไฟล์ประเภทนี้ โปรดเลือกไฟล์.json หรือ.txt" - การเข้ารหัสและขนาดไฟล์: ไฟล์ที่นำเข้าต้องใช้การเข้ารหัสแบบ UTF-8 เท่านั้น หากไม่ใช่จะแสดงข้อความ "ไฟล์นี้ไม่ใช่ข้อความ UTF-8 จึงไม่สามารถเปิดที่นี่ได้" และหากไฟล์มีขนาดเกินกำหนดจะแสดงข้อความ "ไฟล์มีขนาดใหญ่เกินไป ขนาดสูงสุดคือ
{limit}" หากเกิดข้อผิดพลาดอื่นๆ จะแสดง "ไม่สามารถอ่านไฟล์นี้ได้ โปรดลองเลือกไฟล์อีกครั้ง" - ขีดจำกัดการประมวลผล: เครื่องมือนี้มีขีดจำกัดขนาดข้อมูลนำเข้าสูงสุดที่ 10 MiB หากข้อมูลใหญ่เกินไปจะแสดงข้อความ "ข้อมูลนำเข้ามีขนาดใหญ่กว่า
{limit}ซึ่งเกินกว่าที่เครื่องมือนี้จะประมวลผลได้" - เกณฑ์การประมวลผลแบบซิงโครนัส: อยู่ที่ 250,000 ตัวอักษร หากการประมวลผลใช้เวลานานเกินไป ระบบจะหยุดทำงานและแสดงข้อความ "การตรวจสอบ JSON นี้ใช้เวลานานเกินไปจึงถูกหยุด โปรดลองใช้เอกสารที่เล็กลง"
- การรักษาค่าตัวเลข: ระบบจะรักษาค่าตัวเลขจำนวนเต็มขนาดใหญ่ (Large integers) ไว้ครบถ้วนโดยไม่มีการสูญเสียความละเอียดของข้อมูล
ความเป็นส่วนตัวและการประมวลผลข้อมูล
JSON ของคุณจะถูกประมวลผลภายในเบราว์เซอร์ของคุณ โดยไม่มีการอัปโหลดข้อมูลใดๆ ไปยัง BroBroGo กระบวนการทำงานทั้งหมดเกิดขึ้นบนเครื่องของผู้ใช้งานโดยตรง ทำให้มั่นใจได้ว่าข้อมูลของคุณจะไม่ถูกส่งผ่านเครือข่ายหรือจัดเก็บไว้บนเซิร์ฟเวอร์ภายนอก
คำถามที่พบบ่อย (FAQ)
JSON ของฉันจะถูกอัปโหลดหรือไม่? ไม่ เครื่องมือจัดรูปแบบนี้ทำงานภายในเบราว์เซอร์ของคุณและไม่มีการอัปโหลด JSON ของคุณขึ้นระบบ
การบีบอัด (Minify) ทำหน้าที่อะไร? การบีบอัด (Minify) จะลบช่องว่างและการขึ้นบรรทัดใหม่ที่ไม่จำเป็นออก โดยยังคงรักษาข้อมูล JSON เดิมไว้ทุกประการ
ทำไมฉันจึงไม่สามารถเปิดไฟล์ข้อมูลได้?
เครื่องมือนี้รองรับเฉพาะไฟล์ .json หรือ .txt ที่เข้ารหัสในรูปแบบ UTF-8 และมีขนาดไม่เกินขีดจำกัดที่กำหนดไว้เท่านั้น หากไฟล์ไม่ตรงตามเงื่อนไขเหล่านี้ หรือระบบไม่สามารถอ่านไฟล์ได้ จะมีข้อความแจ้งเตือนข้อผิดพลาดแสดงขึ้นมา
การเรียงคีย์ ส่งผลต่อข้อมูลอาร์เรย์หรือไม่? การเรียงคีย์จะจัดเรียงเฉพาะคีย์ของอ็อบเจ็กต์แบบเวียนซ้ำตามลำดับโค้ดพอยต์เท่านั้น ส่วนลำดับของข้อมูลภายในอาร์เรย์จะไม่มีการเปลี่ยนแปลงใดๆ ทั้งสิ้น