Công Cụ Nhanh

JSON Formatter: định dạng, kiểm tra JSON

Kiểu xuất
Thụt lề

Có thể kéo thả tệp .json vào ô nhập.

Xử lý ngay trên trình duyệt của bạn. Tệp và dữ liệu không được tải lên máy chủ.

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.

Minh hoạ các thẻ dữ liệu lộn xộn được sắp xếp lại gọn gàng, thẳng hàng

Cách định dạng và kiểm tra JSON

  1. 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. 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. 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. 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 saiLý doViế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ểmJSON (RFC 8259)Object JavaScript
Tên khoáBắt buộc nháy képCó thể không nháy, nháy đơn hoặc nháy kép
ChuỗiChỉ nháy képNháy đơn, kép hoặc backtick
Dấu phẩy cuốiKhông cho phépCho phép
Chú thíchKhông cho phépCho phép
Giá trịChuỗi, số, true, false, null, mảng, objectThêm undefined, NaN, hàm, Date…
Số lớnKhông giới hạn trong văn bảnMấ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…