Chuyển đổi miễn phí

Trình định dạng JSON & Trình xác thực

Định dạng, chỉnh sửa và xác thực JSON ngay lập tức trong trình duyệt của bạn. Không cần tải lên - hoàn toàn riêng tư và miễn phí.

Kéo và thả tệp JSON vào đây

Hỗ trợ các tập tin .json. Hoặc dán JSON của bạn vào khu vực trên.

Hoặc

Về công cụ này

Định dạng JSON (thường được gọi là in đẹp hoặc làm đẹp) lấy JSON nhỏ gọn và thêm khoảng trắng — ngắt dòng, thụt lề, giãn cách nhất quán — để làm cho cấu trúc hiển thị cho người đọc. JSON nhỏ gọn là định dạng phù hợp để truyền: nó giảm thiểu byte trên đường truyền và bộ lưu trữ. JSON được định dạng là định dạng phù hợp để kiểm tra: hệ thống phân cấp thụt lề hiển thị nhanh cấu trúc lồng nhau, làm cho các khác biệt có ý nghĩa và cho phép nhà phát triển xác định vị trí các trường cụ thể mà không cần phân tích cú pháp tài liệu một cách tinh thần.

Trình định dạng này phân tích dữ liệu đầu vào dưới dạng JSON để xác nhận nó hợp lệ, sau đó phát lại dữ liệu đó với mức thụt lề nhất quán. Đầu vào không hợp lệ tạo ra lỗi chỉ ra vấn đề cú pháp. Đầu vào hợp lệ sẽ được định dạng lại bất kể nguồn đó nhỏ gọn hay lộn xộn đến mức nào. Thụt lề mặc định thành hai khoảng trắng, phù hợp với quy ước JavaScript phổ biến nhất.

Trình định dạng cũng cung cấp tính năng thu nhỏ (thao tác nghịch đảo), loại bỏ tất cả khoảng trắng không cần thiết để tạo ra JSON hợp lệ nhỏ nhất. Đầu ra được giảm thiểu rất hữu ích cho việc truyền tải sản xuất; đầu ra được định dạng rất hữu ích cho việc phát triển và gỡ lỗi.

Tại sao định dạng JSON

Về cơ bản, việc đọc JSON được lồng sâu mà không thụt lề là không thể - cấu trúc hiện diện về mặt kỹ thuật nhưng vô hình. Ngay cả JSON phức tạp vừa phải cũng được hưởng lợi rất nhiều từ việc định dạng. Người đánh giá mã, trình gỡ lỗi API và bất kỳ ai đang cố gắng hiểu tải trọng dữ liệu đều cần được định dạng JSON để xem những gì thực sự ở đó.

Định dạng cũng bắt lỗi. Nếu JSON không phân tích được trong quá trình định dạng, thông báo lỗi sẽ xác định vị trí chính xác của vấn đề cú pháp — thường là thiếu dấu phẩy, khóa không có dấu ngoặc kép hoặc dấu phẩy ở cuối mà hệ thống sản xuất không gắn cờ. Trình định dạng là trình xác thực JSON đơn giản nhất hiện có.

Cách sử dụng

Dán JSON, nhấp vào định dạng.

  1. Dán JSON của bạn: Dán JSON thô hoặc nén vào vùng nhập. Kéo và thả tệp .json cũng hoạt động.
  2. Chọn thụt lề: Mặc định là 2 dấu cách. Sử dụng 4 khoảng trắng cho các dự án tuân theo quy ước đó hoặc các tab nếu công cụ tiếp theo của bạn yêu cầu chúng.
  3. Định dạng: Đầu vào được phân tích cú pháp thông qua JSON.parse để xác nhận tính hợp lệ, sau đó được tuần tự hóa bằng JSON.stringify và thụt lề đã chọn. Lỗi trong đầu vào tạo ra thông báo lỗi phân tích cú pháp xác định vị trí sự cố.
  4. Sao chép hoặc tải xuống: Sao chép JSON được định dạng vào bảng nhớ tạm hoặc lưu dưới dạng .json. Đầu ra có cấu trúc giống hệt với đầu vào nhưng có khoảng trắng nhất quán.

Các trường hợp sử dụng phổ biến

Chi tiết kỹ thuật

Trình định dạng sử dụng JSON.parse và JSON.stringify, cùng một cặp trong mọi thời gian chạy JavaScript. Phân tích cú pháp tuân theo RFC 8259 (thông số JSON hiện tại), chấp nhận JSON nghiêm ngặt nhưng từ chối các ký tự đối tượng JavaScript, nhận xét, dấu phẩy ở cuối và các phần mở rộng JSON5 khác.

JSON.stringify chấp nhận đối số thụt lề: một số (dấu cách) hoặc chuỗi (ký tự thụt lề tùy chỉnh, chẳng hạn như tab). Trình định dạng hiển thị cả hai tùy chọn. Đầu ra được sắp xếp theo thứ tự nguồn cho các đối tượng (kể từ thứ tự chèn thuộc tính được bảo tồn ES2015 trên tất cả các công cụ chính).

Các trường hợp đặc biệt: số lượng lớn vượt quá Number.MAX_SAFE_INTEGER mất độ chính xác khi được phân tích cú pháp (giới hạn JSON đã biết; sử dụng giá trị chuỗi cho ID vượt quá 2^53). Các ký tự thoát Unicode trong chuỗi được giữ nguyên theo nghĩa đen. Khoảng trắng ở cuối được loại bỏ khỏi mỗi dòng.

Thực tiễn tốt nhất

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

Công cụ này phát hiện những loại lỗi JSON nào?
Công cụ này phát hiện dấu phẩy bị thiếu, dấu ngoặc/dấu ngoặc nhọn không khớp, thoát chuỗi không hợp lệ, dấu phẩy ở cuối, chuỗi trích dẫn đơn và các vi phạm cú pháp khác theo đặc tả JSON của RFC 8259.
Nó có thể xử lý các tệp JSON rất lớn không?
Đúng. Trình định dạng xử lý JSON trong trình duyệt của bạn bằng cách sử dụng phân tích cú pháp JavaScript gốc, do đó, nó xử lý các tệp có dung lượng lên tới vài megabyte một cách hiệu quả. Đối với các tệp cực lớn (50 MB+), thời gian xử lý tùy thuộc vào thiết bị của bạn.
Nó có hỗ trợ JSON với các nhận xét (JSONC) không?
JSON tiêu chuẩn không cho phép bình luận. Nếu thông tin đầu vào của bạn có chứa nhận xét, trình xác thực sẽ gắn cờ chúng là lỗi. Để được hỗ trợ JSONC, hãy xóa nhận xét trước khi định dạng.
Định dạng có thay đổi giá trị dữ liệu của tôi không?
Không. Định dạng chỉ điều chỉnh khoảng trắng và thụt lề — kiểu dữ liệu, giá trị và cấu trúc của bạn vẫn giống hệt nhau.
Các tính năng JSON5 có được hỗ trợ không (nhận xét, dấu phẩy ở cuối)?
Không. Bộ định dạng tuân thủ nghiêm ngặt RFC 8259. Các tính năng JSON5 gây ra lỗi phân tích cú pháp. Để làm việc với JSON5, trước tiên hãy chuyển đổi sang JSON tiêu chuẩn bằng trình phân tích cú pháp JSON5.
JSON của tôi có được tải lên máy chủ không?
Không. Việc phân tích cú pháp và định dạng diễn ra hoàn toàn trong trình duyệt của bạn bằng cách sử dụng các hàm JSON tích hợp sẵn.
Số lượng lớn sẽ mất độ chính xác?
JavaScript biểu thị các số dưới dạng số float 64 bit, do đó các số nguyên trên 2^53 (khoảng 9 triệu tỷ) sẽ mất độ chính xác. Đối với ID hoặc các giá trị số nguyên lớn khác, hãy lưu trữ chúng dưới dạng chuỗi trong JSON.
Tôi có thể sắp xếp các phím theo thứ tự abc không?
JSON.stringify không sắp xếp khóa. Sử dụng bước sắp xếp riêng biệt (hoặc trình định dạng có hỗ trợ sắp xếp) để sắp xếp các phím theo bảng chữ cái trước khi xâu chuỗi.