Cách format JSON bằng công cụ này
Để format JSON, hãy dán nội dung vào ô nhập, dù đó là phản hồi từ API, một đoạn log hay file cấu hình. Sau đó chọn thao tác. Định dạng sẽ thụt lề lại dữ liệu với 2 hoặc 4 dấu cách mỗi cấp và đặt mỗi khóa trên một dòng riêng, nhờ vậy cấu trúc hiện ra rõ ràng. Thu gọn làm điều ngược lại, bỏ hết khoảng trắng không cần thiết, rất tiện khi cần đưa JSON vào URL, biến môi trường hoặc phần thân của request.
Khi kết quả đã ổn, bấm nút sao chép để đưa vào bộ nhớ tạm. Mọi xử lý đều diễn ra trong tab trình duyệt, vì thế bạn có thể format JSON chứa thông tin đăng nhập, địa chỉ nội bộ hay dữ liệu cá nhân mà không phải tải lên dịch vụ bên thứ ba.
Cách hoạt động
Đầu tiên, công cụ đọc văn bản bằng bộ phân tích JSON có sẵn của trình duyệt, cũng chính là cơ chế kiểm tra nghiêm ngặt mà JSON.parse dùng trong JavaScript. Nếu đọc thành công, dữ liệu được in lại với mức thụt lề bạn chọn, hoặc không thụt lề khi rút gọn. Vì đầu ra được tạo từ dữ liệu đã phân tích chứ không phải bằng cách xê dịch ký tự, kết quả luôn là JSON hợp lệ.
Nếu đọc thất bại, bạn sẽ thấy số dòng và số cột nơi bộ phân tích dừng lại. Vị trí đó thường nằm ngay sau lỗi thật, nên hãy xem cả cuối dòng phía trên.
Ví dụ trước và sau khi định dạng với 2 dấu cách:
{"cuaHang":"Phở Thìn","quan":"Hai Bà Trưng","giaoHang":{"phi":20000,"phut":30}}
{
"cuaHang": "Phở Thìn",
"quan": "Hai Bà Trưng",
"giaoHang": {
"phi": 20000,
"phut": 30
}
}
Lỗi thường gặp và cách sửa
- Dấu phẩy thừa ở cuối.
[1, 2, 3,]chạy được trong JavaScript hiện đại nhưng không hợp lệ trong JSON. Hãy xóa dấu phẩy sau phần tử cuối của mỗi mảng và đối tượng. - Dấu nháy đơn. Khóa và chuỗi phải dùng ngoặc kép:
"hoTen", không phải'hoTen'. - Khóa không có ngoặc kép.
{soLuong: 4}cần viết thành{"soLuong": 4}. - Chú thích. Không được dùng
//hay/* */. Nếu cần ghi chú trong file cấu hình, hãy cân nhắc JSONC hoặc YAML, hoặc lưu ghi chú như một trường văn bản bình thường. - Giá trị đặc biệt. JSON không có
undefined,NaNhayInfinity; hãy thay bằngnullhoặc một con số.
Lưu ý thêm: do số được đọc như kiểu number của JavaScript, các số nguyên lớn hơn 9.007.199.254.740.991 có thể bị sai lệch khi định dạng lại. Với mã định danh rất dài, tốt nhất nên lưu dưới dạng chuỗi.