Trả lời nhanh
Dán JSON vào ô bên trên: công cụ kiểm tra theo chuẩn RFC 8259 ngay khi gõ, báo lỗi bằng tiếng Việt kèm dòng và cột, rồi định dạng đẹp (2 / 4 dấu cách, Tab) hoặc rút gọn. Số lớn như 12345678901234567890 được giữ nguyên, không bị làm tròn.
JSON Formatter là gì?
JSON Formatter làm đẹp, rút gọn và kiểm tra dữ liệu JSON từ API, tệp cấu hình hay log. Khác nhiều công cụ chạy dữ liệu qua JSON.parse rồi in lại, công cụ này tự phân tích văn bản nên giữ đúng từng số, từng chuỗi và escape bạn đã viết; chỉ khoảng trắng và (khi bạn chọn) thứ tự khoá thay đổi. Việc phân tích chạy trong Web Worker trên trình duyệt, dữ liệu không gửi đi đâu.

Cách định dạng và kiểm tra JSON
- 1
Dán JSON vào ô “JSON đầu vào”, bấm “Mở tệp .json” hoặc kéo thả tệp vào ô; “Dữ liệu mẫu” để thử nhanh.
- 2
Đọc trạng thái bên dưới: “JSON hợp lệ” kèm thống kê, hoặc thông báo lỗi có dòng, cột và đoạn trích; bấm “Tới vị trí lỗi” để nhảy tới chỗ sai.
- 3
Chọn “Định dạng đẹp” với thụt lề 2 dấu cách, 4 dấu cách hoặc Tab, hay “Rút gọn”; bật “Sắp xếp khoá A→Z” khi cần so sánh.
- 4
Bấm “Sao chép” hoặc “Tải xuống .json” để lấy kết quả đầy đủ.
Lỗi cú pháp JSON hay gặp và cách viết đúng
| Viết sai | Lý do | Viết đúng |
|---|---|---|
| {"a": 1,} | Dấu phẩy sau phần tử cuối | {"a": 1} |
| {'a': 'x'} | Dùng nháy đơn | {"a": "x"} |
| {a: 1} | Khoá không có nháy kép | {"a": 1} |
| {"a": 1} // ghi chú | JSON không có chú thích | {"a": 1} |
| {"a": NaN, "b": undefined} | NaN, Infinity, undefined không phải giá trị JSON | {"a": null, "b": null} |
| {"ma": 007} | Số không được có 0 ở đầu | {"ma": "007"} hoặc {"ma": 7} |
| {"x": .5, "y": +1} | Thiếu chữ số trước dấu chấm, có dấu + | {"x": 0.5, "y": 1} |
| {"a": 1}{"b": 2} | Hai khối JSON dán liền nhau | [{"a": 1}, {"b": 2}] |
JSON khác object JavaScript ở đâu
| Đặc điểm | JSON (RFC 8259) | Object JavaScript |
|---|---|---|
| Tên khoá | Bắt buộc nháy kép | Có thể không nháy, nháy đơn hoặc nháy kép |
| Chuỗi | Chỉ nháy kép | Nháy đơn, kép hoặc backtick |
| Dấu phẩy cuối | Không cho phép | Cho phép |
| Chú thích | Không cho phép | Cho phép |
| Giá trị | Chuỗi, số, true, false, null, mảng, object | Thêm undefined, NaN, hàm, Date… |
| Số lớn | Không giới hạn trong văn bản | Mất chính xác khi vượt 2^53 (9.007.199.254.740.991) |
Ví dụ thực tế
Đọc phản hồi API dồn một dòng
Dán phản hồi từ Postman hay tab Network của trình duyệt, chọn Định dạng đẹp 2 dấu cách để thấy cấu trúc lồng nhau và tìm đúng trường cần dùng.
Tệp cấu hình không chạy
Ứng dụng báo lỗi đọc config.json? Dán vào: thông báo kiểu “Dấu phẩy thừa trước dấu “}”” kèm dòng, cột cho biết chính xác chỗ cần sửa.
Mã đơn hàng là số rất dài
Trường {"id_giao_dich": 12345678901234567890} được giữ nguyên khi định dạng, kèm cảnh báo vượt 2^53 để bạn cân nhắc lưu dạng chuỗi.
So sánh hai bản cấu hình
Bật Sắp xếp khoá A→Z cho cả hai bản rồi so sánh bằng công cụ diff: khoá cùng thứ tự nên chỉ còn lại khác biệt thật.
Lỗi thường gặp khi dùng công cụ
- Báo “Còn dữ liệu thừa sau khi JSON đã kết thúc”.
- Thường do dán hai khối JSON liền nhau hoặc dán cả log có chữ phía sau. Gói các khối vào một mảng [ … ] hoặc xoá phần thừa.
- Tệp lớn không hiện trong ô nhập.
- Dữ liệu trên 1 MB được thay bằng thẻ thông tin để trang không bị đơ; kết quả kiểm tra và định dạng vẫn đầy đủ. Bấm “Sửa trực tiếp” nếu thật cần sửa tay.
- Ô kết quả có vẻ bị cắt.
- Kết quả rất dài chỉ hiển thị phần đầu cho nhẹ trình duyệt. “Sao chép” và “Tải xuống .json” luôn lấy toàn bộ.
- Báo có ký tự khoảng trắng đặc biệt.
- Dữ liệu dán từ Word, chat hay PDF có thể chứa dấu cách không ngắt (NBSP). Xoá và gõ lại dấu cách thường ở vị trí được chỉ ra.
- Tệp không mở được.
- Công cụ nhận tệp tối đa 10 MB, mã hoá UTF-8. Tệp lớn hơn hoặc mã hoá khác (UTF-16) cần chuyển đổi trước.
- Báo “JSON lồng quá sâu”.
- Giới hạn 1.000 cấp lồng nhau để tránh treo trình duyệt. Dữ liệu thật hiếm khi sâu như vậy; hãy kiểm tra xem có vòng lặp khi xuất dữ liệu không.
Thuật ngữ
- RFC 8259
- Tiêu chuẩn chính thức mô tả cú pháp JSON mà công cụ dùng để kiểm tra.
- Beautify (định dạng đẹp)
- Thêm xuống dòng và thụt lề để JSON dễ đọc, không đổi dữ liệu.
- Minify (rút gọn)
- Bỏ mọi khoảng trắng không cần thiết để JSON nhỏ nhất khi lưu hoặc truyền.
- Escape
- Cách viết ký tự đặc biệt trong chuỗi, như \n (xuống dòng), \" (nháy kép), \u00e9 (é).
- BOM
- Ký tự ẩn ở đầu một số tệp UTF-8 do Windows tạo; công cụ tự bỏ qua và thông báo.
- 2^53
- Số nguyên lớn nhất JavaScript lưu chính xác (9.007.199.254.740.991); vượt mức này dễ bị làm tròn.
Câu hỏi thường gặp
Dữ liệu JSON của tôi có bị gửi lên máy chủ không?
Không. Phân tích và định dạng chạy trong trình duyệt của bạn, nên có thể dán cả token, cấu hình nội bộ hay dữ liệu khách hàng.
Vì sao JSON có chú thích hoặc dấu phẩy cuối bị báo lỗi?
Chuẩn JSON không cho phép chú thích hay dấu phẩy sau phần tử cuối. Một số trình soạn thảo chấp nhận định dạng mở rộng (JSONC, JSON5), nhưng API và thư viện JSON thông thường sẽ từ chối.
Sắp xếp khoá có làm thay đổi dữ liệu không?
Không đổi giá trị. Thứ tự khoá trong object không mang ý nghĩa; thứ tự phần tử trong mảng được giữ nguyên.
Khoá trùng có bị báo không?
Có, dưới dạng cảnh báo kèm số dòng. JSON hợp lệ về cú pháp nhưng nhiều hệ thống chỉ giữ giá trị cuối cùng, dễ gây mất dữ liệu âm thầm. Cảnh báo giống nhau được gộp kèm số lần lặp.
Dòng và cột lỗi được tính thế nào?
Đều bắt đầu từ 1; cột tính theo từng ký tự (một emoji là một ký tự). Đoạn trích có dấu ^ chỉ đúng vị trí.
Rút gọn có giữ nguyên chuỗi tiếng Việt không?
Có. Chuỗi và escape được giữ đúng như bạn viết, kể cả “\u1ec7” hay chữ “ệ” viết trực tiếp.
Đánh giá và bình luận
Đang tải…