เครื่องย่อข้อมูล JSON

ให้วางเอกสาร JSON ที่มีการพิมพ์อย่างสวยงามเข้าไป จากนั้นแปลงเป็นรูปแบบบรรทัดเดียวโดยตัดไบต์ที่ไม่จำเป็นทั้งหมดออกไป ได้แก่ ช่องว่างระหว่างโทเคน บรรทัดใหม่ ช่องว่างท้ายบรรทัด และความคิดเห็น JSONC ผลลัพธ์ที่ได้มีจำนวนไบต์เท่ากับรูปแบบการเข้ารหัสที่สั้นที่สุดสำหรับข้อมูลเดียวกัน พร้อมใช้งานได้ทันทีสำหรับการฝังใน <script> พารามิเตอร์ URL หรือ payload ที่จ่ายค่าบริการตามจำนวนไบต์

วิธีลดขนาดไฟล์ JSON ให้น้อยที่สุด

  1. 1

    วางข้อมูลในรูปแบบ JSON

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

  2. 2

    ลดขนาดให้น้อยที่สุด

    ช่องว่างทั้งหมดระหว่างโทเคนจะถูกลบออกไป ความคิดเห็นจะถูกลบออก ส่วนตัวเลขจะถูกเก็บไว้ตามสภาพเดิม

  3. 3

    ดูค่าเดลต้าของขนาด

    จำนวนไบต์ก่อนและหลัง รวมถึงอัตราการลดลงเป็นเปอร์เซ็นต์

  4. 4

    คัดลอกผลลัพธ์

    รูปแบบ JSON แบบบรรทัดเดียว พร้อมใช้ในการวางลงในไฟล์โค้ดหรือคำขอ API

สิ่งที่ถูกลบออก

  • ช่องว่างระหว่างโทเคน: ช่องว่าง แท็บ และบรรทัดใหม่
  • ความคิดเห็น (รูปแบบ JSONC คือ // และ /* */), ถูกลบออก เนื่องจาก JSON ที่เข้มงวดไม่อนุญาตให้ใช้
  • BOM และช่องว่างนำหน้าที่ตำแหน่งเริ่มต้นของเอกสาร

สิ่งที่ไม่ถูกลบออก

  • ค่า: ทุกสตริง ตัวเลข ค่าบูลีน และค่า null จะถูกเก็บรักษาไว้อย่างแม่นยำ
  • รูปแบบของตัวเลข: ทุกตัวเลขจะถูกเก็บไว้ตรงตามที่เขียนไว้ทุกประการ: 1.50 ยังคงเป็น 1.50 และ 1e-3 ยังคงเป็น 1e-3 เครื่องมือนี้จะรักษาความแม่นยำที่คุณป้อนไว้
  • ลำดับของคีย์: ออบเจ็กต์จะคงลำดับการแทรกเดิมไว้

ทำไมต้องลดขนาดไฟล์ JSON

  • ปริมาณข้อมูลที่ส่งน้อยลง: ไฟล์กำหนดค่าขนาด 120 KB ที่มีรูปแบบการพิมพ์สวยงามสามารถลดขนาดลงเหลือเพียง 70 KB ได้ ซึ่งเป็นสิ่งสำคัญสำหรับทุกคำขอ
  • การแทรกแบบอินเลน (Inline embeds): เมื่อคุณใส่ข้อมูลในรูปแบบ JSON ลงในแท็ก <script> หรือพารามิเตอร์ URL พื้นที่ว่างจะทำให้สูญเสียแบนด์วิดธ์
  • ความเสถียรของแฮช: เอกสาร JSON สองฉบับที่มีความหมายเท่ากัน แต่มีค่าแฮชจากช่องว่างต่างกันจะให้ค่าแฮชที่แตกต่างกัน การลดขนาดข้อมูลก่อนจะช่วยให้ได้ค่าแฮชที่สอดคล้องกัน (แม้ว่าการปรับรูปแบบข้อมูลอย่างถูกต้องจะทำให้คีย์ถูกเรียงลำดับด้วย)

ข้อมูลอ้างอิงเกี่ยวกับการประหยัดไบต์

ข้อมูลนำเข้า จัดรูปแบบแล้ว (2 ช่องว่าง) ย่อขนาดแล้ว การประหยัด
การตั้งค่าขนาดเล็ก (50 คีย์) 1.8 KB 1.1 KB 39%
การตอบสนองของ API (ซ้อนกัน 5 KB) 6.2 KB 4.1 KB 34%
การถอดข้อมูลขนาดใหญ่ 1.2 เมกะไบต์ 0.8 เมกะไบต์ 33%

หลังจากใช้ gzip ความแตกต่างจะลดลงอย่างมาก เนื่องจาก gzip สามารถบีบอัดช่องว่างได้อย่างมีประสิทธิภาพอยู่แล้ว สำหรับข้อมูลแบบไบต์ดิบ (เช่น URL และเนื้อหาที่ฝังในบรรทัด) ควรใช้การย่อขนาด ส่วนกรณีที่ส่งผ่านเครือข่ายควรพึ่งพา gzip

กรณีที่ไม่ควรลดขนาดไฟล์

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

ข้อผิดพลาดที่พบบ่อย

  • การย่อขนาดไฟล์ JSON ที่ต้องอาศัยความคิดเห็น: ความคิดเห็นจะถูกลบออกไป และพฤติกรรมของตัวแยกวิเคราะห์อาจเปลี่ยนแปลงได้หากมีเครื่องหมายประเภท “TODO”
  • การย่อขนาดของตัวเลขทศนิยม บางเครื่องมือจะแปลงข้อมูล 0.1 ใหม่ในรูปแบบที่แตกต่างจากข้อมูลขาเข้า โดยเครื่องมือนี้จะรักษารูปแบบการแสดงผลเป็นสตริงไว้อย่างแม่นยำ
  • ใช้การย่อขนาดแทนการบีบอัด สำหรับข้อความ gzip ประหยัดไบต์ได้มากกว่าการย่อขนาด ควรใช้ทั้งสองวิธีร่วมกัน ไม่ควรแทนที่กัน

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

โดยทั่วไป ขนาดจะเล็กลงประมาณ 30–40% เมื่อเทียบกับไฟล์ที่มีการพิมพ์อย่างสวยงาม การประหยัดนี้เกิดขึ้นเกือบทั้งหมดจากพื้นที่ว่าง ในขณะที่ข้อมูลจริงไม่เปลี่ยนแปลงเลย หลังจากการใช้ gzip ความแตกต่างระหว่างไฟล์ที่ถูกบีบอัดแล้วกับไฟล์ที่มีการพิมพ์อย่างสวยงามมักจะต่ำกว่า 5% เนื่องจาก gzip สามารถจัดการกับพื้นที่ว่างได้อย่างมีประสิทธิภาพ

เครื่องมือนี้รักษารูปแบบตัวเลขในรูปแบบสตริงอย่างแม่นยำ โดย 1.50 จะคงอยู่ที่ 1.50 และ 1e-3 ก็จะคงอยู่ที่ 1e-3 โปรแกรมลดขนาดบางตัวสามารถปรับรูปแบบให้เป็นมาตรฐานได้ แต่โปรแกรมนี้ทำงานแบบระมัดระวังโดยค่าเริ่มต้น ดังนั้นจึงไม่มีการสูญเสียความแม่นยำโดยไม่ได้ตั้งใจ

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

ใช่, ความคิดเห็นสามารถมีอยู่ในข้อมูลขาเข้า และจะถูกลบออกไปในผลลัพธ์ (JSON แบบเข้มงวดไม่อนุญาตให้มีความคิดเห็น) หากคุณต้องการรักษาความคิดเห็นเหล่านั้นไว้ ควรเก็บไฟล์ต้นฉบับ JSONC ที่มีรูปแบบการแสดงผลที่เหมาะสม และดำเนินการลดขนาดเฉพาะในขณะนำไปใช้งานจริงเท่านั้น

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

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

ตัวตรวจสอบอีเมล

ตรวจสอบที่อยู่อีเมล: ตรวจไวยากรณ์ RFC 5322 ค้นหา MX เรกคอร์ดแบบเรียลไทม์ พร้อมรายละเอียดส่วนท้องถิ่น โดเมน และความยาว ไม่มีการส่งอีเมลใด ๆ

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือสร้าง EditorConfig

สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข

เครื่องมือนี้มีให้บริการในภาษาอื่น