Dành cho lập trình viên
Format JSON online
Định dạng, kiểm tra lỗi và nén chuỗi JSON. Báo rõ vị trí sai khi cú pháp không hợp lệ.
Format JSON online là gì?
JSON là định dạng trao đổi dữ liệu phổ biến nhất giữa các hệ thống hiện nay, nhưng khi nhận về từ API thì nó thường nằm gọn trên một dòng duy nhất và gần như không thể đọc bằng mắt. Việc định dạng lại với thụt lề và xuống dòng biến khối ký tự đó thành cấu trúc nhìn thấy được.
Ngoài định dạng, công cụ này còn kiểm tra tính hợp lệ. Khi chuỗi JSON có lỗi cú pháp, thông báo trả về chỉ rõ vị trí ký tự gây lỗi — thường là dấu phẩy thừa ở cuối danh sách, thiếu dấu ngoặc kép quanh tên khoá, hoặc dùng nháy đơn thay vì nháy kép.
Chiều ngược lại cũng có: nút Nén lại loại bỏ mọi khoảng trắng không cần thiết, cho ra chuỗi ngắn nhất có thể. Việc này hữu ích khi cần nhúng JSON vào biến môi trường, dán vào dòng lệnh hoặc giảm dung lượng truyền tải.
Cách sử dụng
- Dán chuỗi JSON vào ô nhập. Nếu chưa có sẵn, bấm Dùng ví dụ mẫu để xem thử.
- Bấm Định dạng để xuống dòng và thụt lề, hoặc Nén lại để dồn về một dòng.
- Chọn mức thụt lề 2 hoặc 4 dấu cách tuỳ quy ước dự án của bạn.
- Nếu có lỗi, đọc thông báo màu đỏ — nó cho biết lỗi nằm ở vị trí ký tự thứ mấy.
- Bấm Sao chép để lấy kết quả.
Câu hỏi thường gặp
Dữ liệu JSON của tôi có được gửi lên máy chủ không?
Không. Việc phân tích và định dạng dùng hàm JSON có sẵn của trình duyệt, chạy ngay trên máy bạn. Điều này quan trọng vì JSON từ API thường chứa token, khoá và thông tin cá nhân.
Vì sao JSON của tôi báo lỗi dù nhìn có vẻ đúng?
Ba nguyên nhân thường gặp nhất: dấu phẩy thừa sau phần tử cuối cùng, tên khoá không đặt trong dấu nháy kép, và dùng nháy đơn thay cho nháy kép. Chuẩn JSON nghiêm ngặt hơn cú pháp đối tượng của JavaScript, nên thứ chạy được trong mã nguồn chưa chắc là JSON hợp lệ.
Xử lý được tệp JSON lớn cỡ nào?
Vài megabyte thì bình thường. Với tệp hàng chục megabyte, trình duyệt có thể chậm đi vì phải dựng toàn bộ cây đối tượng trong bộ nhớ. Trường hợp đó nên dùng công cụ dòng lệnh như jq.
Chuỗi tiếng Việt và tiếng Trung có bị lỗi không?
Không. Kết quả giữ nguyên ký tự Unicode chứ không chuyển thành dạng \uXXXX, nên tiếng Việt có dấu và chữ Hán hiển thị đúng như bạn nhập.