Website, Kỹ thuật & Bảo mật

Định dạng và kiểm tra JSON

Định dạng, thu gọn và kiểm tra JSON chuẩn, báo lỗi đúng dòng/cột, giữ nguyên số lớn; xem cây dữ liệu và sao chép đường dẫn ngay trên trình duyệt.

Xử lý trên thiết bịMiễn phí, không cần đăng nhập

Tối đa 25 MB. Chỉ nhận JSON chuẩn: không chú thích, không dấu phẩy thừa, chuỗi và tên khóa dùng dấu ngoặc kép.

Quyền riêng tư

Nội dung JSON và tệp bạn mở được xử lý hoàn toàn trên trình duyệt (văn bản lớn chạy trong Web Worker của chính trang), không gửi lên máy chủ Softonline, không lưu vào bộ nhớ trình duyệt hay đường dẫn. Dữ liệu mất khi bạn tải lại hoặc đóng trang; bấm "Xóa dữ liệu" để xóa ngay.

Cách sử dụng

  1. Dán JSON vào ô "JSON đầu vào", kéo thả tệp .json vào ô hoặc bấm "Mở tệp .json" (tối đa 25 MB).
  2. Chọn thụt lề (2, 4 dấu cách hoặc Tab) và cách xử lý khi tên khóa bị trùng.
  3. Bấm Định dạng để dàn trang dễ đọc, Thu gọn để bỏ khoảng trắng, hoặc Kiểm tra để chỉ xác nhận JSON hợp lệ.
  4. Nếu có lỗi, đọc mã lỗi, dòng/cột và đoạn ngữ cảnh rồi bấm "Đến vị trí lỗi trong ô đầu vào" để sửa.
  5. Mở tab "Cây dữ liệu" để duyệt, tìm khóa/giá trị và sao chép đường dẫn JSON Pointer hoặc dạng chấm.
  6. Bấm Sao chép hoặc Tải .json để lấy kết quả.

Khi nào nên dùng

Đọc phản hồi API, kiểm tra tệp cấu hình trước khi triển khai, thu gọn JSON để nhúng vào mã, tìm nhanh một trường trong dữ liệu lồng nhiều cấp, kiểm tra JSON xuất từ phần mềm có bị trùng khóa hay sai cú pháp.

Giới hạn

Chỉ nhận JSON chuẩn (RFC 8259): không chú thích, không dấu phẩy thừa, không nháy đơn, không NaN/Infinity. Tối đa 25 MB và 1.000 cấp lồng nhau; trên 5 MB có cảnh báo, ô kết quả chỉ xem trước 200.000 ký tự đầu khi kết quả lớn hơn 2 MB và cây dữ liệu chỉ dựng cho nội dung đến 5 MB. Tệp phải mã hóa UTF-8. Ô nhập là vùng văn bản thường, không có đánh số dòng hay tô màu cú pháp.

Công thức và nguồn

Bộ quét JSON tự viết theo RFC 8259, một lượt, không đệ quy, không dùng eval hay JSON.parse cho toàn văn bản: giữ nguyên chuỗi số và chuỗi ký tự gốc khi định dạng/thu gọn, phát hiện khóa trùng theo từng object (kể cả khóa viết bằng \u), kiểm tra cặp surrogate Unicode, nhận diện BOM UTF-8. Cây dữ liệu lưu khóa dạng danh sách nên khóa __proto__ chỉ là dữ liệu. Engine json-lossless@1.0.1.

Câu hỏi thường gặp

Số rất lớn như 12345678901234567890 có bị làm tròn không?

Không. Công cụ giữ nguyên chuỗi số như bạn nhập khi định dạng, thu gọn hay sắp xếp khóa. Trong cây dữ liệu, số vượt miền an toàn của JavaScript được gắn nhãn "Số ngoài miền an toàn" để bạn biết nhiều chương trình khác có thể làm tròn nó.

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 thừa, nháy đơn hay khóa không có ngoặc kép (đó là cú pháp JSON5/JavaScript). Công cụ báo đúng vị trí để bạn sửa, không tự chuyển đổi âm thầm.

Tên khóa bị trùng thì xử lý thế nào?

Mặc định công cụ báo lỗi kèm đường dẫn, dòng và cột của khóa trùng vì nhiều hệ thống chỉ lấy giá trị sau cùng. Nếu cần giữ nguyên văn bản, chọn "Chỉ cảnh báo"; kết quả vẫn giữ cả hai khóa và liệt kê cảnh báo.

Dữ liệu JSON của tôi có bị gửi đi đâu không?

Không. Mọi xử lý chạy trên trình duyệt của bạn, kể cả khi dùng luồng nền Web Worker. Nội dung không được lưu và mất khi bạn đóng trang, nên có thể dùng cho JSON chứa khóa API hay dữ liệu nội bộ — dù vậy vẫn nên xóa dữ liệu sau khi dùng trên máy dùng chung.

Sắp xếp khóa có làm thay đổi dữ liệu không?

Giá trị không đổi, chỉ thứ tự khóa trong object được xếp theo bảng chữ cái; thứ tự phần tử trong mảng giữ nguyên. Công cụ hiện bản xem trước và chỉ đưa vào ô kết quả khi bạn xác nhận, ô đầu vào không bị sửa. Lưu ý một số hệ thống hoặc chữ ký số vẫn phụ thuộc thứ tự gốc.

Tệp JSON rỗng có được coi là null không?

Không. Ô trống hoặc tệp trống được báo là chưa có nội dung. Các giá trị gốc như null, 0, false hay "văn bản" đều là JSON hợp lệ.

Tệp lớn có làm treo trình duyệt không?

Nội dung từ 50 KB được xử lý trong luồng nền nên trang vẫn phản hồi và có nút Hủy. Tệp trên 25 MB bị từ chối trước khi đọc; với kết quả lớn, ô kết quả chỉ xem trước một phần nhưng Sao chép và Tải .json luôn lấy đủ.

Bạn đã không sử dụng Site, Bấm vào đây để duy trì trạng thái đăng nhập. Thời gian chờ: 60 giây