Bộ rút gọn JSON
Dán một tài liệu JSON được in đẹp và nhận phiên bản chỉ gồm một dòng với mọi byte không cần thiết đã bị loại bỏ: khoảng trắng giữa các token, dòng mới, khoảng trắng cuối chuỗi và các bình luận JSONC. Kết quả đầu ra có số lượng byte tương đương với cách mã hóa ngắn nhất có thể cho cùng dữ liệu đó, sẵn sàng để nhúng vào <script>, tham số URL hoặc tải trọng được tính theo từng byte.
Cách rút gọn định dạng JSON
-
1
Dán JSON
Được in chính xác hoặc đã được thu nhỏ một phần. Dữ liệu đầu vào được phân tích và chuyển đổi lại thành định dạng phù hợp.
-
2
Giảm thiểu tối đa
Tất cả khoảng trắng giữa các token đều được loại bỏ; phần chú thích bị gỡ bỏ; các số được giữ nguyên như hiện trạng.
-
3
Xem giá trị độ lệch kích thước
Số lượng byte trước và sau xử lý cùng mức giảm phần trăm.
-
4
Sao chép kết quả đầu ra
Định dạng JSON một dòng, sẵn sàng để dán vào tệp mã hoặc yêu cầu API.
Những gì được loại bỏ
- Không gian trắng giữa các token: khoảng trắng, tab, dòng mới.
- Bình luận (dưới định dạng JSONC:
//và/* */) – đã được loại bỏ vì chuẩn JSON nghiêm ngặt cấm sử dụng chúng. - BOM và khoảng trắng đầu tiên ở đầu tài liệu.
Những gì không bị xóa
- Giá trị: mọi chuỗi, số, giá trị boolean và giá trị null đều được giữ nguyên một cách chính xác.
- Định dạng số: mỗi số được giữ nguyên đúng như cách viết:
1.50vẫn là1.50và1e-3vẫn là1e-3. Công cụ sẽ giữ nguyên độ chính xác mà bạn đã nhập. - Thứ tự các khóa: các đối tượng giữ nguyên thứ tự đặt vào ban đầu.
Tại sao cần rút gọn định dạng JSON
– Thể tích dữ liệu nhỏ hơn: một tệp cấu hình có kích thước 120 KB được trình bày đẹp mắt có thể giảm xuống còn 70 KB; điều này rất quan trọng đối với mọi yêu cầu truy cập.
– Định dạng nhúng nội tại: khi bạn đưa dữ liệu JSON vào thẻ <script> hoặc tham số URL, các khoảng trắng sẽ làm lãng phí băng thông.
– Độ ổn định của giá trị hash: Hai tài liệu JSON có nội dung tương đương về mặt ngữ nghĩa nhưng lại tạo ra các giá trị hash khác nhau do sự khác biệt về khoảng trắng. Việc rút gọn đầu tiên sẽ cho ra một giá trị hash nhất quán; tuy nhiên, quá trình chuẩn hóa đầy đủ cũng sẽ sắp xếp các khóa theo thứ tự nhất định.
Tham chiếu về việc tiết kiệm dung lượng byte
| Đầu vào | Đã định dạng (2 khoảng trắng) | Đã rút gọn | Tiết kiệm |
|---|---|---|---|
| Cấu hình nhỏ (50 khóa) | 1,8 KB | 1,1 KB | 39% |
| Phản hồi API (lồng nhau, 5 KB) | 6,2 KB | 4,1 KB | 34% |
| Lưu trữ dữ liệu lớn | 1,2 MB | 0,8 MB | 33% |
Sau khi sử dụng gzip, sự chênh lệch giảm đáng kể – vì gzip đã nén các khoảng trắng một cách hiệu quả. Đối với dữ liệu thô (URL, nội dung nhúng trực tiếp), hãy rút gọn; còn đối với dữ liệu truyền qua mạng, hãy tin tưởng vào gzip.
Khi nào không nên thực hiện tối giản hóa
- Các tệp cấu hình được lưu trữ trong hệ thống kiểm soát phiên bản, tính dễ đọc quan trọng hơn dung lượng dữ liệu. – Các tệp do người dùng chỉnh sửa – không ai chỉnh sửa định dạng JSON đã được nén bằng tay mà không hối tiếc cả. – Các đối tượng ghi lỗi (debug artifacts) – Một tệp JSON dài 400 KB chỉ gồm một dòng trong nhật ký sự cố là không thể đọc được.
Các lỗi phổ biến
- Giảm kích thước định dạng JSON phụ thuộc vào các ghi chú: Các ghi chú sẽ bị loại bỏ và hành vi của bộ phân tích có thể thay đổi nếu bạn sử dụng các dấu hiệu TODO.
- Rút gọn số dấu phẩy động: Một số công cụ tái mã hóa
0.1khác với dạng đầu vào; công cụ này giữ nguyên chính xác dạng biểu diễn chuỗi. - Dùng việc rút gọn thay cho nén. Đối với văn bản, gzip tiết kiệm nhiều byte hơn so với việc rút gọn. Hãy kết hợp cả hai phương pháp; không nên thay thế lẫn nhau.
Câu hỏi thường gặp
Thông thường, kích thước nhỏ hơn từ 30 đến 40% so với dữ liệu đầu vào có định dạng in đẹp. Sự tiết kiệm này chủ yếu đến từ khoảng trắng; bản thân dữ liệu không thay đổi. Sau khi áp dụng gzip, sự khác biệt giữa phiên bản được nén và phiên bản in đẹp thường dưới 5%, bởi vì gzip xử lý khoảng trắng một cách hiệu quả.
Công cụ này giữ nguyên đúng dạng chuỗi của các số: 1.50 vẫn là 1.50, 1e-3 vẫn là 1e-3. Một số công cụ rút gọn sẽ thực hiện chuẩn hóa; công cụ này hoạt động một cách thận trọng mặc định, do đó bạn sẽ không bao giờ gặp tình trạng mất độ chính xác không mong muốn.
Không. Quá trình rút gọn dữ liệu hoàn toàn được thực hiện trực tiếp trong trình duyệt của bạn. Dữ liệu JSON đã dán vào sẽ không rời khỏi máy tính của bạn – rất an toàn khi xử lý các phản hồi API chứa token hoặc thông tin cấu hình riêng tư.
Vâng – các bình luận được chấp nhận trong dữ liệu đầu vào và sẽ bị loại bỏ khỏi kết quả đầu ra (JSON nghiêm ngặt không cho phép sử dụng chúng). Nếu bạn cần giữ lại các bình luận, hãy lưu bản mã nguồn JSONC đã được trình bày rõ ràng và chỉ thực hiện rút gọn kích thước khi triển khai.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Công cụ đổi PX sang PT
Đổi giá trị pixel CSS không âm sang điểm chữ theo công thức 1 px = 0,75 pt. Kết quả hiển thị tối đa bốn chữ số thập phân.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Minifier JSON [ID]
- JSON圧縮ツール [JA]
- เครื่องย่อข้อมูล JSON [TH]
- JSON-Minifier [DE]
- JSON 압축기 [KO]
- Minifikator formatu JSON [PL]
- Minificador de JSON [PT]
- Minificador JSON [ES]
- JSON-minifierare [SV]
- مُختصر بيانات JSON [AR]
- Minificateur JSON [FR]
- JSON-minifier [NL]
- Минифайер JSON [RU]
- JSON Minifier [TR]
- JSON 压缩器 [ZH]
- JSON Minifier [EN]
- Minificatore JSON [IT]