Cách format JSON online
- Dán JSON vào ô đầu vào. Đó có thể là một dòng duy nhất copy từ phản hồi của API hoặc cả một file cấu hình.
- Chọn Làm đẹp để thụt lề (2 dấu cách, 4 dấu cách hoặc tab) hoặc Thu gọn để xóa toàn bộ khoảng trắng. Kết quả cập nhật ngay khi bạn gõ.
- Bật Sắp xếp khóa A–Z để sắp các khóa của mọi đối tượng theo thứ tự bảng chữ cái, giúp so sánh hai tài liệu dễ hơn.
- Nếu JSON không hợp lệ, thông báo màu đỏ sẽ cho biết lỗi gì cùng dòng và cột nơi trình phân tích dừng lại.
- Bấm Sao chép để đưa kết quả vào bộ nhớ tạm.
Mọi thao tác chạy trong trình duyệt với hai hàm có sẵn là JSON.parse và JSON.stringify. Không có gì được tải lên máy chủ, vì vậy bạn có thể dán file cấu hình hay phản hồi API chứa dữ liệu riêng tư mà không lo bị lộ.
JSON là gì?
JSON (JavaScript Object Notation) là định dạng văn bản gọn nhẹ để lưu trữ và trao đổi dữ liệu. Hầu hết API web, các file cấu hình như package.json và nhiều cơ sở dữ liệu đều dùng JSON. Một tài liệu JSON được xây dựng từ sáu loại giá trị:
- Đối tượng (object): các cặp khóa/giá trị trong ngoặc nhọn, ví dụ
{"id": 7}. Khóa phải là chuỗi trong ngoặc kép. - Mảng (array): danh sách có thứ tự trong ngoặc vuông, ví dụ
[1, 2, 3]. - Chuỗi (string): văn bản trong ngoặc kép. Ký tự đặc biệt được thoát bằng dấu gạch chéo ngược, chẳng hạn
\ncho xuống dòng. Tiếng Việt có dấu vẫn hợp lệ trong chuỗi. - Số (number): số nguyên hoặc số thập phân như
42hay-3.14. Dùng dấu chấm làm dấu thập phân, không bắt đầu bằng số 0 thừa và không cóNaN. - Boolean:
truehoặcfalse, viết thường. - null: giá trị rỗng.
Làm đẹp và nén JSON: ví dụ
Đoạn mẫu dưới đây đã được nén, dài 68 ký tự trên một dòng:
{"name":"ToolHub","tools":["json","words"],"free":true,"users":1200}
Sau khi chọn Làm đẹp với 2 dấu cách, mỗi khóa nằm trên một dòng riêng và các giá trị lồng nhau được thụt lề, nên bạn nhìn lướt là thấy cấu trúc. JSON đã định dạng dễ đọc, dễ review trong pull request và dễ gỡ lỗi. JSON đã nén thì nhỏ hơn: với dữ liệu lớn, việc bỏ khoảng trắng thường giảm 10–20% dung lượng, có ích khi dữ liệu được gửi qua mạng nhiều lần. Dữ liệu bên trong hoàn toàn giống nhau trong cả hai trường hợp.
Các lỗi JSON thường gặp và cách sửa
- Thừa dấu phẩy cuối:
[1, 2,]hợp lệ trong JavaScript nhưng không hợp lệ trong JSON. Hãy xóa dấu phẩy cuối cùng. - Dấu nháy đơn:
{'name': 'An'}sẽ báo lỗi. Chuỗi và khóa phải dùng dấu nháy kép. - Khóa không có ngoặc kép:
{name: 1}phải viết thành{"name": 1}. - Chú thích: JSON chuẩn không cho phép
//hay/* */. Hãy xóa chúng hoặc dùng định dạng như JSONC nếu công cụ của bạn hỗ trợ. - Ký tự chưa được thoát: xuống dòng hoặc tab thô nằm trong chuỗi là không hợp lệ, hãy dùng
\nvà\t. - Sai giá trị đặc biệt:
True,Nonevàundefinedđến từ ngôn ngữ khác. JSON chỉ nhậntrue,falsevànull.
Mẹo: khi thông báo lỗi chỉ vào một dòng, hãy nhìn cả ký tự ngay trước đó. Thiếu dấu phẩy hay dấu nháy ở dòng trước thường mới là nguyên nhân thật, vì trình phân tích chỉ nhận ra vấn đề sau đó một ký hiệu.
Câu hỏi thường gặp
JSON của tôi có bị gửi lên máy chủ không?
Không. Việc định dạng và kiểm tra diễn ra hoàn toàn trong trình duyệt, bằng bộ phân tích JSON có sẵn của JavaScript, nên bạn có thể yên tâm dán dữ liệu nhạy cảm.
Nén JSON (minify) nghĩa là gì?
Nén JSON là xóa mọi dấu cách và dấu xuống dòng không cần thiết để dữ liệu gọn hơn khi truyền qua mạng. Nội dung dữ liệu không thay đổi.
Vì sao JSON của tôi báo không hợp lệ?
Nguyên nhân hay gặp là thừa dấu phẩy cuối, dùng dấu nháy đơn thay vì nháy kép, khóa không đặt trong ngoặc kép hoặc có chú thích. Thông báo lỗi sẽ chỉ ra dòng và cột nơi trình phân tích dừng lại.