Format JSON online: định dạng và kiểm tra JSON
Với công cụ này, bạn có thể format JSON: dán JSON thô hoặc đã nén, rồi nhận lại bản có thụt lề, tô màu và đã được kiểm tra. Số lớn, thứ tự khóa và khóa trùng lặp được giữ đúng như bạn viết. Nếu JSON bị lỗi, bạn thấy điều gì sai, kèm dòng và cột.
Hướng dẫn format JSON online
Để dùng json online này, hãy làm theo các bước sau:
- Dán JSON của bạn vào ô JSON gốc (trong ô có chữ “Dán JSON gốc vào đây...”). Nội dung vừa dán được định dạng ngay. Khi bạn gõ, kết quả cập nhật khoảng 300 mili giây sau khi bạn dừng.
- Đọc kết quả trong JSON đã định dạng. Khóa, chuỗi, số, true / false và null mỗi loại một màu. Dòng dài cuộn ngang thay vì xuống dòng, nên phần thụt lề vẫn dễ đọc.
- Nếu JSON hợp lệ, dòng “JSON hợp lệ.” hiện bên dưới kết quả. Nếu không, hộp đỏ JSON không hợp lệ sẽ giải thích lý do.
- Chọn Sao chép ở tiêu đề của kết quả. Nút hiện “Đã sao chép” trong giây lát, và nội dung bạn dán là văn bản thuần, không có màu.
- Chọn Xóa ở phía dưới để làm trống ô và bắt đầu lại.
JSON pretty print với 2 dấu cách, 4 dấu cách hoặc Tab
Chọn biểu tượng bánh răng bên cạnh tiêu đề để mở Thụt lề. Các lựa chọn là 2 dấu cách (mặc định), 4 dấu cách và Tab. JSON đã định dạng đổi ngay khi bạn chọn, và thiết lập này cũng áp dụng cho văn bản bạn sao chép.
Hai dấu cách cho các dòng ngắn nhất với dữ liệu lồng sâu. Bốn dấu cách hoặc Tab phù hợp với quy tắc phong cách của nhiều dự án.
Vì sao số và thứ tự khóa được giữ nguyên
Hầu hết các json formatter đọc văn bản của bạn thành một đối tượng rồi in lại. Vòng đi rồi về đó âm thầm ghi đè dữ liệu. Công cụ này đọc văn bản gốc, kiểm tra theo quy tắc JSON và chỉ đổi khoảng trắng giữa các thành phần. Mọi thứ còn lại được chép từng ký tự.
Đây là cùng một đoạn {"id":12345678901234567890,"price":1.0,"tag":"a","tag":"b","b":1,"2":3} khi đi qua công cụ này và khi đi qua JSON.parse rồi JSON.stringify:
- Số lớn: ở đây vẫn là
12345678901234567890; vớiJSON.parsethành12345678901234567000(đã làm tròn). - Số thập phân:
1.0vẫn là1.0; cách kia thành1. - Khóa trùng lặp: cả hai mục
"tag"được giữ lại; cách kia chỉ còn giá trị cuối. - Thứ tự khóa:
"b"đứng trước"2", đúng như bạn viết; cách kia đẩy"2"lên đầu.
Điều này quan trọng với ID cơ sở dữ liệu, mã đơn hàng và giá sao chép từ phản hồi của API: văn bản đã định dạng chứa cùng dữ liệu với bản gốc, chỉ dễ đọc hơn.
Kiểm tra JSON và hiểu thông báo lỗi
Khi bạn dùng json validator này, công cụ kiểm tra JSON theo chuẩn nghiêm ngặt (RFC 8259). Khi văn bản không đạt, hộp JSON không hợp lệ nêu lý do bằng lời đơn giản và “Dòng N, cột M” cho lỗi đầu tiên tìm thấy. Các trường hợp thường gặp:
- Dấu phẩy ở cuối, ví dụ
[1, 2,]: “Có một dấu phẩy ngay trước dấu ngoặc đóng. JSON không cho phép dấu phẩy ở cuối.” - Dấu nháy đơn, ví dụ
{'name': 'Ana'}: JSON dùng dấu ngoặc kép, và công cụ chỉ ra vị trí. - Chú thích, ví dụ
// note: “JSON không cho phép chú thích.” - Tên thuộc tính không có ngoặc kép, ví dụ
{name: "Ana"}: ở đây cần tên trong dấu ngoặc kép. - Thiếu dấu phẩy, ví dụ
"b": 2 "c": 3: cần dấu phẩy hoặc dấu ngoặc đóng. - Số 0 ở đầu hoặc
1., ví dụ01: không phải số JSON hợp lệ. NaN,undefinedhoặc từ trơ trọi khác: chỉ true, false và null mới được viết không có dấu ngoặc kép.- Văn bản sau JSON, ví dụ
{"a": 1}}: có thêm văn bản sau phần kết thúc. - Dấu xuống dòng trong chuỗi: hãy viết dưới dạng ký tự thoát, ví dụ
\n.
Cùng hộp đó cũng báo chuỗi chưa bao giờ được đóng, ký tự thoát gạch chéo ngược không hợp lệ và dấu ngoặc còn mở ở cuối (“Văn bản kết thúc quá sớm”). Dấu cách không ngắt dòng dán từ trang web hoặc cuộc trò chuyện hiện thành U+00A0 để bạn tìm và xóa, còn dấu thứ tự byte ở ngay đầu tệp thì bị bỏ qua.
Một ví dụ nhiều dòng: trong {"a": 1,, "b": 2 và "c": 3}, dòng thứ hai thiếu dấu phẩy. Công cụ báo “Dòng 3, cột 2”, tức dấu ngoặc kép mở của "c", nơi lẽ ra phải có dấu phẩy ở trước.
Giới hạn và những gì công cụ không làm
- Tối đa 5.000.000 ký tự và 1000 cấp lồng nhau. Bản thân việc định dạng chỉ mất một phần giây; hiển thị kết quả vài megabyte có thể mất vài giây.
- Trên 800.000 ký tự, kết quả hiển thị không có màu, và Sao chép vẫn dùng được.
- Chỉ JSON nghiêm ngặt. Chú thích, dấu phẩy ở cuối và dấu nháy đơn được chỉ ra, không được chấp nhận hay âm thầm sửa.
- Công cụ không nén JSON, không sắp xếp khóa và không chuyển sang YAML, CSV hay định dạng khác. Nó định dạng và kiểm tra.
- JSON của bạn được định dạng trong trình duyệt. Không có gì được tải lên hay lưu lại.
Câu hỏi thường gặp
Làm sao để format JSON online?
Dán JSON của bạn vào ô “JSON gốc”. JSON được định dạng ngay khi dán, hoặc khoảng 300 mili giây sau khi bạn ngừng gõ, và kết quả có thụt lề hiện bên dưới trong “JSON đã định dạng”. Chọn “Sao chép” để mang đi. Việc định dạng diễn ra trong trình duyệt, nên JSON không bao giờ bị tải lên.
Làm sao để json pretty print với 4 dấu cách hoặc Tab?
Chọn biểu tượng bánh răng bên cạnh tiêu đề để mở menu “Thụt lề” rồi chọn 2 dấu cách, 4 dấu cách hoặc “Tab”. Mặc định là 2 dấu cách, và kết quả đổi ngay khi bạn chọn tùy chọn khác.
Làm sao để kiểm tra xem JSON của tôi có đúng không?
Chỉ cần dán vào. Một tài liệu đúng sẽ được định dạng và dòng “JSON hợp lệ.” hiện bên dưới kết quả. Một tài liệu sai sẽ hiện hộp đỏ “JSON không hợp lệ” với lý do bằng lời đơn giản cùng dòng và cột có lỗi.
Vì sao JSON của tôi báo lỗi dấu phẩy ở cuối?
JSON không cho phép dấu phẩy sau mục cuối cùng của một đối tượng hoặc mảng, như trong [1, 2,]. Công cụ chỉ vào dấu ngoặc đóng đi sau dấu phẩy thừa. Xóa dấu phẩy là JSON được định dạng.
JSON có chú thích được không?
Không. JSON nghiêm ngặt (RFC 8259) không có cú pháp chú thích, nên // và /* */ là lỗi, dù một số tệp cấu hình chấp nhận chúng. Công cụ báo “JSON không cho phép chú thích.” đúng dòng và cột, và bạn xóa chú thích để tiếp tục.
Lỗi json unexpected token nghĩa là gì?
Nghĩa là trình phân tích gặp một ký tự mà nó không mong đợi ở chỗ đó. Công cụ này nêu tên ký tự tìm thấy, nói điều nó mong đợi thay vào đó, ví dụ dấu phẩy hoặc dấu ngoặc đóng, và cho biết dòng và cột, thường đủ để bạn thấy lỗi gõ.
Định dạng có làm đổi số hay thứ tự khóa của tôi không?
Không. Công cụ kiểm tra văn bản gốc và chỉ ghi lại khoảng trắng giữa các thành phần. Số, chuỗi, thứ tự khóa và khóa trùng lặp được chép đúng nguyên, nên 12345678901234567890 không bị làm tròn và 1.0 vẫn là 1.0. JSON.parse rồi JSON.stringify sẽ làm đổi tất cả những điều đó.
JSON của tôi có bị tải lên đâu không?
Không. JSON được định dạng hoàn toàn trên thiết bị của bạn và không có gì được tải lên hay lưu lại.
json formatter, json beautifier và json validator khác nhau thế nào?
Formatter và beautifier thêm dấu xuống dòng và thụt lề để JSON dễ đọc. Validator kiểm tra văn bản có phải JSON hợp lệ không. Công cụ này làm cả hai trong một bước: kiểm tra nghiêm ngặt và, nếu JSON đúng, định dạng nó.