Chuyển đến nội dung chính
eyunzhu

Trình định dạng JSON

Định dạng · Thu gọn · Kiểm tra cú pháp

Kiểm tra ngay khi nhập, giữ nguyên số và thứ tự khóa.
Kết quả

        

Giới thiệu công cụ

Đọc phản hồi API mà không đánh đổi độ chính xác để định dạng. Chỉ khoảng trắng giữa token thay đổi; khóa lặp vẫn giữ và được cảnh báo.

Cách sử dụng

Đọc phản hồi API và tệp cấu hình

Dán JSON, mở tệp UTF-8 hoặc kéo tệp vào ô nhập để cập nhật kết quả. Định dạng giúp đọc phản hồi API và cấu hình lồng nhau dễ hơn. Thu gọn chỉ bỏ khoảng trắng không cần thiết, phù hợp với nội dung yêu cầu hoặc tệp gọn hơn; thao tác này không tạo tệp ZIP.

Trước và sau khi định dạng

Ví dụ dùng hai dấu cách để thụt lề. Mọi chữ số của id và các số 0 cuối amount đều được giữ nguyên.

{"id":9007199254740993,"amount":1.2300,"active":true}
{
  "id": 9007199254740993,
  "amount": 1.2300,
  "active": true
}

Vì sao cần giữ chính xác số nguyên lớn

Kiểu Number của JavaScript không biểu diễn chính xác mọi số nguyên lớn hơn 9007199254740991. Phân tích JSON thành đối tượng rồi xuất lại có thể biến 9007199254740993 thành 9007199254740992. Công cụ này chỉ điều chỉnh khoảng trắng giữa các thành phần cú pháp, không chuyển số sang Number. -0, 1e400, thứ tự khóa và ký tự thoát cũng được giữ nguyên. Chương trình đọc kết quả vẫn cần bộ phân tích có độ chính xác phù hợp.

Những lỗi cú pháp thường gặp

Khóa và chuỗi phải dùng dấu ngoặc kép, nên {'name':'Ada'} không hợp lệ. Dấu phẩy sau mục cuối như {"a":1,} cũng không được phép. JSON chuẩn không có chú thích // hoặc /* … */. Thông báo chỉ rõ dòng và cột; sửa nội dung sẽ chạy kiểm tra lại. Công cụ không tự đoán ý định để sửa dữ liệu còn mơ hồ.

Khóa trùng và kiểm tra kết quả

Hai khóa trong {"a":1,"a":2} được giữ nguyên kèm cảnh báo. Chương trình khác có thể chỉ lấy một giá trị, vì vậy hãy xử lý chỗ trùng trước khi chia sẻ. Sao chép và tải xuống đều dùng kết quả đang hiển thị. Nên kiểm tra lại sau khi đổi cách thụt lề hoặc chế độ đầu ra.

Giới hạn và lưu trữ

Đầu vào tối đa 5 MiB tính theo UTF-8, đầu ra tối đa 20 MiB, cấu trúc lồng nhau tối đa 128 cấp. Tệp phải chứa UTF-8 hợp lệ. Mọi xử lý diễn ra trong trình duyệt hiện tại. Công cụ không tải nội dung lên máy chủ hay ghi vào bộ nhớ cục bộ; hãy sao chép hoặc tải kết quả cần giữ trước khi đóng trang.

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

Vì sao số nguyên lớn và 1.2300 không bị đổi?

Nội dung không đi qua Number của JavaScript để đọc rồi ghi lại. Chỉ khoảng trắng giữa token được sửa nên chữ số và số không cuối vẫn còn. Chương trình nhận kết quả cũng cần bộ phân tích giữ được độ chính xác đó.

Nên bắt đầu sửa lỗi cú pháp JSON từ đâu?

Kiểm tra dòng và cột được báo, cùng dấu phân cách ngay trước đó. Khóa và chuỗi phải dùng nháy kép; không chấp nhận chú thích hoặc dấu phẩy thừa ở cuối. Định dạng và thu gọn không tự sửa JSON bị lỗi.

Nếu một khóa xuất hiện hai lần thì giữ giá trị nào?

Cả hai đều được giữ, kể cả các tên trở nên giống nhau sau khi đọc escape. Công cụ không tự chọn giá trị để xóa. Hãy quyết định trong nguồn giá trị nào cần giữ; trình phân tích phía sau có thể chỉ dùng giá trị cuối.

Tệp JSON có được gửi lên máy chủ không?

Không. Đầu vào UTF-8 tối đa 5 MiB được xử lý trong trình duyệt. Bạn có thể sao chép hoặc tải kết quả có thụt lề hay đã thu gọn. Hãy sửa nguồn trước nếu UTF-8 không hợp lệ hoặc vượt giới hạn độ lồng hay kích thước đầu ra.

Bình luận

0
để tham gia thảo luận.
Chưa có bình luận.
Chuỗi trả lời

Theo dõi toàn bộ cuộc trò chuyện theo thời gian; mỗi câu trả lời cho biết chính xác tin nhắn được phản hồi.