🔧Toolify

Định dạng & Nén JSON (xác thực và hiển thị đẹp)

Dán bất kỳ JSON nào để định dạng với thụt đầu dòng 2/4/8 dấu cách, hoặc nén thành một dòng. JSON không hợp lệ hiển thị lỗi phân tích để bạn có thể nhanh chóng tìm ra vấn đề.

Đầu ra đã định dạng
{
  "hello": "world",
  "items": [
    1,
    2,
    3
  ]
}
Đầu vào: 38 bytes · Đầu ra: 60 bytes

Cách hoạt động

Công cụ này làm gì

JSON là định dạng nghiêm ngặt — mọi dấu nháy, dấu phẩy và ngoặc đều phải ở đúng vị trí. Trình duyệt và API trả về thông báo 'Unexpected token' khó hiểu khi có gì đó sai, và vấn đề thường không thể nhìn thấy ngay. Công cụ định dạng này phân tích đầu vào với trình phân tích JSON gốc của trình duyệt, sau đó tuần tự hóa lại theo dạng đẹp (có thụt đầu dòng) hoặc nén (không có khoảng trắng).

Nếu phân tích thất bại, bạn nhận được lỗi cơ bản trực tiếp — thường với vị trí của ký tự xấu. Từ đó, bạn có thể nhanh chóng tìm dấu phẩy còn thiếu, dấu nháy chưa thoát hoặc dấu phẩy thừa ở cuối.

Định dạng so với nén

Định dạng với thụt đầu dòng: cách tiêu chuẩn để đọc JSON. 2 dấu cách là quy ước trong thế giới JavaScript; 4 dấu cách phổ biến trong ngữ cảnh Python và Java. Chọn bất kỳ tùy chọn nào dự án của bạn sử dụng.

Nén: thu gọn thành một dòng không có khoảng trắng. Hữu ích khi nhúng JSON vào URL, biến môi trường hoặc bất kỳ nơi nào khoảng trắng quan trọng. Sự khác biệt về kích thước là đáng kể: một file cấu hình được hiển thị đẹp điển hình nhỏ lại 20-40% khi nén.

Các lỗi JSON phổ biến

Dấu phẩy thừa ở cuối. Được phép trong JavaScript, không phải trong JSON. {a:1, b:2,} phân tích được trong trình soạn thảo nhưng thất bại khi gửi qua mạng.

Dấu nháy đơn. JSON yêu cầu dấu nháy kép cho cả khóa và giá trị chuỗi. {'a': 1} là JSON không hợp lệ. {"a": 1} là đúng.

Bình luận. JSON không có bình luận. // hoặc /* */ bên trong JSON làm hỏng phân tích. JSONC (dùng bởi cấu hình VS Code) hỗ trợ bình luận nhưng không phải JSON tiêu chuẩn.

Số. JSON không hỗ trợ NaN hoặc Infinity. Dùng null hoặc gói trong chuỗi, tùy thuộc vào người tiêu thụ phía sau.

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

Cái này có hỗ trợ JSONC (JSON có bình luận) không?

Chưa. Hãy xóa bình luận trước hoặc dùng công cụ hỗ trợ JSONC.

Giới hạn kích thước là bao nhiêu?

Trình duyệt hiện đại xử lý JSON nhiều megabyte, mặc dù textarea có thể chậm lại sau ~1 MB. Với file lớn, hãy dùng công cụ trên máy tính.

Tại sao JSON của tôi không hợp lệ?

Thường gặp nhất: dấu phẩy thừa ở cuối, dấu nháy đơn hoặc dấu nháy chưa thoát bên trong chuỗi. Lỗi trình phân tích chỉ ra cột nơi vấn đề được phát hiện.

Tôi có thể sắp xếp khóa theo thứ tự bảng chữ cái không?

Không có trong phiên bản này. Dán vào công cụ nhận biết sắp xếp (như jq với --sort-keys) là cách sạch nhất; chúng tôi có thể thêm tùy chọn này sau.

Nó có xử lý JSON lồng sâu không?

Có. Trình phân tích JSON của trình duyệt xử lý bất kỳ độ sâu thực tế nào.

Tại sao nén không làm file 1 MB thành 1 byte?

Nén chỉ xóa khoảng trắng. Dữ liệu thực tế vẫn còn đó. Để giảm kích thước thực sự, hãy dùng gzip hoặc định dạng nhị phân như MessagePack.

Dữ liệu có được gửi đi đâu không?

Không. Tất cả phân tích và định dạng xảy ra trong trình duyệt của bạn.

Còn xác thực JSON Schema thì sao?

Công cụ này chỉ xác thực cú pháp. Để xác thực schema, hãy dùng trình xác thực JSON Schema với file schema của bạn.

Công cụ liên quan

Cập nhật lần cuối:

Thử AI prompts của chúng tôi →