Định dạng JSON

Pretty print, thu gọn và kiểm tra JSON tức thì.

Chạy ngay trên trình duyệt. Không có gì bạn nhập vào bị gửi đi đâu cả.

Cách định dạng JSON

  1. Dán hoặc tải lên JSON của bạn.
  2. Chọn pretty print hoặc thu gọn, và độ rộng thụt lề.
  3. Sao chép hoặc tải kết quả.

Pretty print so với minify

Pretty printMinify
Khoảng trắngThêm thụt lề và ngắt dòngXóa hết
Dung lượng fileLớn hơn, dễ đọc hơnNhỏ nhất có thể, cùng dữ liệu
Phù hợp nhất choChỉnh sửa và debugAPI production và lưu trữ

Các lỗi JSON thường gặp và cách sửa

LỗiCách sửa
Dấu phẩy thừa trước } hoặc ]Xóa dấu phẩy cuối cùng trong danh sách
Dấu ngoặc đơn quanh một chuỗiChuyển sang chỉ dùng dấu ngoặc kép
Tên thuộc tính không có ngoặc képBọc mọi khóa trong dấu ngoặc kép
Chú thích // hoặc /*Xóa nó đi; JSON không có cú pháp chú thích
Thiếu dấu ngoặc đóngĐếm lại các cặp { } và [ ] khớp nhau
Một số như 1. hoặc .5Viết 1.0 hoặc 0.5; JSON cần chữ số ở cả hai phía dấu chấm thập phân
Ký tự xuống dòng thô bên trong một chuỗiEscape nó thành \n, vì xuống dòng thật bên trong dấu ngoặc kép không được phép

Quy tắc cú pháp JSON, theo RFC 8259

  • Một số không được có số 0 ở đầu (01 không hợp lệ) hoặc dấu chấm thập phân trơ ở cuối (1. không hợp lệ).
  • Mọi khóa phải là chuỗi trong dấu ngoặc kép. Khóa không ngoặc và thuộc tính viết tắt của JavaScript không phải JSON hợp lệ.
  • Các literal duy nhất được phép ngoài dấu ngoặc kép là true, false và null, đều viết thường.
  • Một chuỗi chỉ được dùng dấu ngoặc kép; dấu ngoặc đơn và dấu backtick là tính năng của JavaScript mà JSON không có.
  • Khóa trùng lặp trong một object về mặt ngữ pháp được cho phép, nhưng hầu hết trình phân tích, kể cả công cụ này, chỉ giữ giá trị cuối cùng, nên đừng phụ thuộc vào việc cả hai đều được đọc.

Câu hỏi thường gặp về Định dạng JSON

Vì sao JSON của tôi báo lỗi ở một dòng trông có vẻ ổn?

Trình phân tích báo nơi nó dừng lại, thường là một ký tự sau lỗi thật sự, như thiếu dấu phẩy ở dòng trên. Hãy kiểm tra cả dòng ngay trước dòng được chỉ ra.

Sắp xếp khóa làm gì?

Nó sắp xếp lại khóa của mọi object theo thứ tự bảng chữ cái trước khi in ra, giúp dễ so sánh (diff) hai file JSON hoặc tìm một trường cụ thể hơn.

Tôi có thể định dạng file JSON rất lớn không?

Được, nhưng chế độ xem dạng cây thu gọn chỉ dựng cho đầu vào dưới 300 KB. File lớn hơn vẫn định dạng và thu gọn được, chỉ là không có cây.

Khác biệt giữa minify và pretty print là gì?

Pretty print thêm ngắt dòng và thụt lề để dễ đọc. Minify xóa hết những thứ đó để file nhỏ nhất có thể cho production.

Chuẩn JSON, RFC 8259, thực sự yêu cầu gì?

Nó định nghĩa ngữ pháp chính xác của JSON: object và mảng, chuỗi trong dấu ngoặc kép, số không có số 0 ở đầu, và các literal true, false, null. Bất cứ thứ gì ngoài ngữ pháp đó, như một chú thích hay dấu phẩy thừa, đều là JSON không hợp lệ dù một số trình phân tích vẫn âm thầm chấp nhận.

Tôi có thể định dạng file JSON5 hay JSONC cho phép chú thích không?

Không. Chú thích và dấu phẩy thừa, phổ biến trong file cấu hình JSONC mà một số trình soạn thảo dùng, không phải JSON hợp lệ và sẽ bị báo lỗi ở đây. Hãy bỏ chúng đi trước nếu bạn đang làm việc với một trong các định dạng nới lỏng đó.

Tôi có thể mở rộng mọi node trong chế độ xem cây cùng lúc không?

Được, bấm Mở rộng tất cả. Tài liệu lớn bắt đầu chỉ mở một hoặc hai cấp đầu để giữ tốc độ; Mở rộng tất cả sẽ mở mọi node còn lại khi cần.

Tôi có thể tải kết quả đã định dạng thành một file không?

Được. Nút Tải xuống lưu kết quả hiện tại, dù pretty print hay thu gọn, thành một file .json, đặt tên theo file bạn đã tải lên hoặc "formatted.json" nếu bạn dán văn bản trực tiếp.

Công cụ liên quan