Bộ công cụ JSON
Định dạng / thu gọn / escape / bỏ escape — mọi thứ chạy trong trình duyệt của bạn.
Kết quả
Cách sử dụng
- Dán JSON hoặc bất kỳ văn bản nào vào bên trái, rồi chọn hành động ở trên: Định dạng, Thu gọn, Escape hoặc Bỏ escape.
- “Thụt lề” chỉ ảnh hưởng đến Định dạng (2 hoặc 4 dấu cách). Kết quả đã định dạng mở rộng sẵn; dùng mũi tên cạnh mỗi dòng để thu gọn hoặc mở rộng object và mảng.
- Quá trình kiểm tra tự động chỉ ra dòng và cột khi phát hiện lỗi; sao chép hoặc tải kết quả, và dùng nút ⇄ cạnh “Xóa” để đưa kết quả trở lại ô đầu vào. Các hành động này luôn dùng kết quả đầy đủ, kể cả khi một phần đang bị thu gọn.
Ví dụ
Đầu vào
{"user":{"id":42,"name":"Nguyễn Văn Minh","roles":["admin","editor"],"active":true},"score":12345678901234567890}
Đã định dạng
{ "user": { "id": 42, "name": "Nguyễn Văn Minh", "roles": [ "admin", "editor" ], "active": true }, "score": 12345678901234567890 }
Chỉ dùng quy tắc mặc định: thụt lề 2 dấu cách, khóa giữ đúng thứ tự bạn đã viết. Con số 20 chữ số được in đúng từng chữ số — nếu đi qua JSON.parse rồi in lại, nó sẽ thành 12345678901234567000.
Quy tắc, giới hạn và các vấn đề đã biết
- JSON nghiêm ngặt (RFC 8259): chú thích, dấu phẩy thừa, dấu nháy đơn, khóa không có nháy, NaN và Infinity đều bị từ chối, và thông báo chỉ ra cách sửa thay vì trích lỗi của bộ phân tích.
- Định dạng và Thu gọn chỉ đổi khoảng trắng. Escape trong chuỗi, số nguyên dạng literal và khóa có nháy được in đúng như khi nhập: "\u00e9" vẫn là "\u00e9", 12345678901234567890 vẫn chính xác, 1e400 không thành null, -0 vẫn là -0.
- Khóa trùng giữ giá trị cuối cùng, như JSON.parse, và cảnh báo nêu tên khóa. Giá trị trước đó bị bỏ.
- “Escape” mã hóa toàn bộ đầu vào thành một chuỗi JSON literal (dấu nháy, dấu gạch chéo ngược và ký tự điều khiển được escape; mọi thứ khác giữ nguyên). “Bỏ escape” chấp nhận một chuỗi có nháy hoàn chỉnh (được kiểm tra nghiêm ngặt) hoặc các chuỗi escape trần.
- Số dòng và cột đếm theo điểm mã Unicode, nên một emoji là một cột. Chỉ dấu cách, tab, xuống dòng và về đầu dòng được coi là khoảng trắng; U+3000 hay U+00A0 được báo kèm điểm mã của nó.
- Giới hạn: 1.000.000 ký tự và 512 cấp lồng. Vượt một trong hai giới hạn, bạn nhận lỗi chứ không bao giờ nhận kết quả bị cắt. Tải tệp chỉ đọc tệp cục bộ — không gì được tải lên.
- Không chuyển JSON→YAML/XML/CSV, không JSON Schema, không JSONPath, không trình soạn cây, không tham số URL, không lịch sử. Mọi thứ chạy trong trình duyệt: không gì được tải lên hay lưu lại.
Công cụ liên quan
Những việc thường cần làm tiếp sau khi đã xử lý xong JSON.