Nén JSON

Nén JSON bằng cách xóa khoảng trắng

Thử ví dụ

Đầu vào

Đầu ra đã nén

Chạy cục bộ · An toàn để dán thông tin bí mật
JSON đã nén sẽ hiển thị ở đây…

Minification JSON là gì?

Minification JSON loại bỏ tất cả các khoảng trắng không cần thiết — dấu cách, tab và xuống dòng — khỏi tài liệu JSON mà không thay đổi dữ liệu hay cấu trúc. Kết quả là một chuỗi gọn gàng trên một dòng, hoạt động giống hệt bản gốc nhưng kích thước nhỏ hơn đáng kể.

Before · json
After · json
{
  "user": "alice",
  "role": "admin",
  "active": true
}
{"user":"alice","role":"admin","active":true}

Tại sao nên Minify JSON?

Mỗi byte đều quan trọng trong các ứng dụng web hiện đại. JSON đã minify giảm kích thước payload, tăng tốc phản hồi API và giảm chi phí băng thông — đặc biệt quan trọng khi xử lý hàng triệu yêu cầu.

Truyền tải nhanh hơn
Payload nhỏ hơn nghĩa là phản hồi HTTP nhanh hơn, độ trễ thấp hơn và trải nghiệm người dùng tốt hơn ở mọi tốc độ mạng.
📦
Chi phí băng thông thấp hơn
API và CDN tính phí theo lượng dữ liệu truyền. Giảm 60–80% payload JSON tích lũy nhanh chóng ở quy mô lớn.
📱
Thân thiện với thiết bị di động
Người dùng di động trên kết nối chậm hưởng lợi nhiều nhất từ phản hồi gọn nhẹ. Ít dữ liệu hơn nghĩa là ứng dụng nhanh hơn.
🔒
Bảo mật quyền riêng tư
Minification chạy hoàn toàn trong trình duyệt của bạn. Không có dữ liệu nào được gửi tới máy chủ.

Khi nào bạn nên Minify?

Nên làm
  • Phản hồi API gửi tới clients
  • File cấu hình đóng gói trong bản build production
  • JSON nhúng trong các trang HTML
  • File dữ liệu tĩnh phục vụ qua CDN
  • Payload ứng dụng di động khi mỗi KB quan trọng
Không nên làm
  • File cấu hình bạn đang tích cực chỉnh sửa
  • Log debug bạn cần đọc
  • JSON trong version control (làm khó việc xem diff)
  • File đã được nén bởi gzip/Brotli
  • Schema dùng chung hoặc file tài liệu

Các trường hợp sử dụng phổ biến

Phản hồi REST API
Minify JSON trước khi phục vụ từ API để giảm thời gian phản hồi và sử dụng băng thông.
Pipeline Build Frontend
Đóng gói file dữ liệu JSON đã minify trực tiếp vào JavaScript build cho tài nguyên tĩnh không tốn chi phí.
File cấu hình
Nhúng JSON cấu hình gọn nhẹ vào Docker images, Lambda layers hoặc biến môi trường.
Xuất / Nhập dữ liệu
Xuất JSON đã minify để tải lên nhanh hơn, lưu trữ nhỏ hơn và pipeline dữ liệu hiệu quả hơn.
Tin nhắn WebSocket
Ứng dụng thời gian thực gửi tin nhắn JSON thường xuyên hưởng lợi lớn từ việc giảm kích thước tin nhắn.
Thiết bị nhúng & IoT
Thiết bị bị hạn chế về bộ nhớ và băng thông cần payload JSON nhỏ nhất có thể.

Minification vs Nén HTTP

Minification và nén HTTP bổ sung cho nhau — không phải thay thế nhau. Áp dụng cả hai cho kết quả tốt nhất.

Kỹ thuật
Giảm kích thước
Áp dụng lúc
Minification
60–80%
Build / thủ công
gzip
70–90%
Tầng HTTP (tự động)
Brotli
75–95%
Tầng HTTP (tự động)
Minify + Brotli
92–98%
Tốt nhất cả hai

Minify trong code của bạn

Bạn cũng có thể minify JSON theo cách lập trình trong bất kỳ ngôn ngữ nào — không cần thư viện bên ngoài.

JavaScript / Node.js
JSON.stringify(JSON.parse(input))
Python
json.dumps(json.loads(input), separators=(',', ':'))
CLI (jq)
cat data.json | jq -c .
Go
json.Compact(&buf, data)

Câu hỏi thường gặp

Minification có thay đổi dữ liệu của tôi không?
Không. Minification chỉ loại bỏ khoảng trắng không có ý nghĩa. Tất cả keys, values, arrays và objects vẫn giữ nguyên hoàn toàn.
JSON đã minify có phải JSON hợp lệ không?
Có — hoàn toàn hợp lệ. Bất kỳ JSON parser nào cũng có thể đọc nó. Khoảng trắng không phải là một phần của mô hình dữ liệu JSON.
JSON nhỏ đi bao nhiêu?
Thông thường nhỏ hơn 20–60% tùy thuộc vào lượng khoảng trắng ban đầu. File có thụt lề sâu được nén nhiều nhất.
Nên minify trước hay sau gzip?
Minify trước, sau đó để máy chủ áp dụng gzip hoặc Brotli. Cả hai kỹ thuật hoạt động ở các cấp độ khác nhau và phối hợp tốt với nhau.
Tôi có thể minify JSON có comments không?
JSON tiêu chuẩn không hỗ trợ comments. Nếu file của bạn dùng // hoặc /* */ comments (JSONC/JSON5), chúng phải được xóa trước vì đây không phải JSON hợp lệ.