Cách dùng Định dạng JSON
- Dán JSON vào ô JSON đầu vào, kéo thả tệp
.jsonvào đó, hoặc nhấn Tải mẫu. - Kết quả tự cập nhật khi bạn gõ. Chọn Làm đẹp với 2 dấu cách, 4 dấu cách hoặc Tab, hoặc chọn Nén để xóa toàn bộ khoảng trắng.
- Nếu JSON không hợp lệ, lỗi sẽ được hiển thị kèm dòng và cột. Nhấn Đi tới lỗi để chọn đúng ký tự sai trong phần đầu vào.
- Chuyển sang Cây để khám phá dữ liệu lồng nhau. Nhấn vào giá trị bất kỳ để sao chép đường dẫn của nó (ví dụ
$.variants[0].color). - Nhấn Sao chép hoặc Tải xuống để lưu kết quả.
Công cụ định dạng JSON là gì?
Công cụ định dạng JSON (còn gọi là làm đẹp JSON hoặc pretty-print) nhận JSON ở dạng gọn hoặc lộn xộn và viết lại với cách thụt lề, xuống dòng nhất quán để con người dễ đọc. API thường trả về JSON nén trên một dòng để tiết kiệm dung lượng. Định dạng lại là bước đầu tiên khi bạn gỡ lỗi một phản hồi, xem lại tệp cấu hình hoặc viết tài liệu. Công cụ này cũng làm được điều ngược lại: Nén sẽ xóa mọi khoảng trắng và dấu xuống dòng không cần thiết để có dung lượng nhỏ nhất có thể.
Định dạng và kiểm tra luôn đi cùng nhau. Bộ định dạng phân tích đầu vào theo cùng quy tắc nghiêm ngặt như JSON.parse(), nên bất cứ thứ gì được chấp nhận ở đây cũng sẽ được mọi trình phân tích tuân thủ chuẩn chấp nhận (RFC 8259).
Các lỗi JSON thường gặp và cách sửa
Khi phân tích thất bại, bộ kiểm tra sẽ báo đúng dòng và cột, làm nổi bật ký tự lỗi và giải thích vấn đề. Đây là những lỗi mà công cụ bắt được thường xuyên nhất:
| Lỗi | Sai | Đúng |
|---|---|---|
| Dấu phẩy thừa cuối cùng | [1, 2, 3,] | [1, 2, 3] |
| Dấu nháy đơn | {'id': 1} | {"id": 1} |
| Khóa không có nháy | {id: 1} | {"id": 1} |
| Chú thích | {"a": 1 // ghi chú} | Xóa chú thích |
| Thiếu dấu phẩy | {"a": 1 "b": 2} | {"a": 1, "b": 2} |
| Số đặc biệt | NaN, Infinity, 01 | null, 1 |
| Xuống dòng trong chuỗi | "dòng 1⏎dòng 2" | "dòng 1\nthe dòng 2" |
Nhiều lỗi trong số này hợp lệ trong object của JavaScript, JSON5 hoặc YAML nhưng không hợp lệ trong JSON. Đây là nguyên nhân phổ biến gây nhầm lẫn khi bạn sao chép dữ liệu từ mã nguồn.
Cảnh báo ngoài cú pháp
Có những JSON về mặt kỹ thuật vẫn hợp lệ nhưng tiềm ẩn rủi ro. Bộ kiểm tra cảnh báo về khóa trùng lặp (hầu hết trình phân tích lặng lẽ chỉ giữ giá trị cuối cùng) và về số nguyên lớn hơn 253 (9.007.199.254.740.991), vì JavaScript không thể biểu diễn chính xác các số này. Đây là vấn đề thường gặp với ID cơ sở dữ liệu 64-bit. Nếu bạn thấy cảnh báo này, hãy gửi các ID đó dưới dạng chuỗi.
Làm đẹp hay nén: nên dùng cái nào?
Hãy dùng JSON đã làm đẹp cho mọi thứ con người cần đọc: tệp cấu hình trong Git (để diff theo từng dòng), tài liệu và gỡ lỗi. Thụt lề hai dấu cách là quy ước phổ biến nhất trong dự án JavaScript, còn bốn dấu cách thường thấy trong json.dumps(indent=4) của Python. Hãy dùng JSON đã nén cho dữ liệu truyền qua mạng và lưu trữ. Lưu ý rằng nén gzip hoặc Brotli trên máy chủ đã loại bỏ phần lớn chênh lệch dung lượng, nên với các tệp bạn commit, khả năng đọc thường quan trọng hơn.
Chế độ xem dạng cây và sắp xếp khóa
Với tài liệu lớn, chế độ Cây cho phép bạn thu gọn object và mảng, đồng thời xem số lượng phần tử ngay lập tức. Sắp xếp khóa sẽ xếp các khóa của mọi object theo thứ tự bảng chữ cái ở tất cả các cấp. Tính năng này hữu ích khi so sánh hai tài liệu JSON trong Diff Checker, vì thứ tự khóa khác nhau sẽ tạo ra các khác biệt gây nhiễu. Cần định dạng khác? Chuyển sang YAML, CSV hoặc kiểu TypeScript.
Cũng được tìm dưới tên: json beautifier, kiểm tra json, json validator, làm đẹp json, nén json, json minify, format json, trình xem json.
Các công cụ dùng kèm tốt với Định dạng JSON
- Định dạng JavaScript — Giải nén và định dạng lại JavaScript, JSON hoặc JSX với kiểu thụt lề và dấu ngoặc bạn chọn, hoặc loại bỏ khoảng trắng và chú thích bằng bộ thu gọn đã được kiểm chứng.
- Mã hóa / Giải mã Base64 — Chuyển văn bản sang Base64 và ngược lại với hỗ trợ đầy đủ UTF-8 (dấu tiếng Việt, emoji), chuyển sang Base64 an toàn cho URL, hoặc thả tệp vào để lấy chuỗi Base64 hay data URI.
- Kiểm tra JSON Schema — Dán schema và dữ liệu JSON để xem chính xác giá trị nào vi phạm quy tắc nào, hoặc tạo schema ban đầu từ dữ liệu mẫu.
- Kiểm Thử JSONPath — Nhập truy vấn JSONPath và xem ngay nó chọn ra những gì, kèm đường dẫn chính xác của từng kết quả.
Câu hỏi thường gặp
JSON của tôi có được tải lên máy chủ không?
Tại sao bộ kiểm tra từ chối chú thích và dấu phẩy thừa cuối cùng?
tsconfig.json) và YAML thì có hỗ trợ, nhưng trình phân tích nghiêm ngặt như JSON.parse() sẽ báo lỗi.Tôi có thể định dạng tệp lớn đến mức nào?
Việc định dạng có làm thay đổi dữ liệu của tôi không?
JSON khác gì so với object JavaScript?
undefined, chú thích hay dấu phẩy thừa cuối cùng.