Công cụ chẩn đoán JSON

Kiểm tra & Định dạng JSON

Dán JSON → Xác thực → Xem lỗi hoặc kết quả được định dạng. Miễn phí, tức thì, riêng tư.

Tức thìMiễn phíRiêng tưĐịnh dạng & Xác thực
Ctrl+Enter để xác thực nhanh

Tải ví dụ mẫu

Đối tượng hợp lệ
Nhấn để tải vào trình soạn thảo
Mảng lồng nhau
Nhấn để tải vào trình soạn thảo
Lỗi — Thiếu dấu phẩy
Nhấn để tải vào trình soạn thảo
Lỗi — Dấu phẩy thừa
Nhấn để tải vào trình soạn thảo

Quy tắc cú pháp JSON

Chuỗi dùng dấu ngoặc kép: "hello"
Không dùng dấu ngoặc đơn: 'hello'
Số: 42, -3.14, 1e10
Boolean: true / false (chữ thường)
True / False (chữ hoa) là sai
null (chữ thường) cho giá trị rỗng
Không dấu phẩy thừa: { "a": 1, }
Không chú thích: // hoặc /* */
Đối tượng: { "key": value }
Mảng: [1, 2, 3]

Các lỗi JSON thường gặp

Thông báo lỗiÝ nghĩaCách sửa
Unexpected tokenPhát hiện ký tự không hợp lệKiểm tra dấu ngoặc đơn, thiếu dấu hai chấm hoặc ký tự lạ
Unexpected end of JSON inputJSON bị cắt đứt hoặc chưa hoàn chỉnhĐảm bảo tất cả dấu ngoặc { } và [ ] đều được đóng
Trailing commaDấu phẩy thừa sau phần tử cuối cùngXóa dấu phẩy sau cặp key-value hoặc phần tử mảng cuối cùng
Expected property nameThiếu hoặc sai định dạng key trong đối tượngBọc tất cả key đối tượng trong dấu ngoặc kép
Unterminated stringGiá trị chuỗi thiếu dấu ngoặc đóngTìm và đóng tất cả chuỗi còn mở bằng dấu ngoặc kép tương ứng

JSON là gì?

JSON (JavaScript Object Notation) là định dạng văn bản nhẹ dùng để lưu trữ và trao đổi dữ liệu. Được đề xuất bởi Douglas Crockford vào đầu những năm 2000, JSON trở thành chuẩn trao đổi dữ liệu phổ biến nhất trên internet nhờ cú pháp đơn giản, dễ đọc với con người và dễ phân tích bởi máy tính.

Không giống XML hay CSV, JSON có thể biểu diễn cấu trúc dữ liệu phức tạp gồm các đối tượng lồng nhau và mảng nhiều chiều. Điều này khiến JSON trở thành lựa chọn hàng đầu cho API REST, file cấu hình ứng dụng, cơ sở dữ liệu NoSQL như MongoDB, và lưu trữ cài đặt trong các ứng dụng web hiện đại.

JSON được chuẩn hóa theo RFC 8259ECMA-404. Chuẩn này định nghĩa chính xác những gì hợp lệ — từ cách viết chuỗi, số, giá trị boolean, cho đến cách cấu trúc đối tượng và mảng. Bất kỳ sai lệch nào so với chuẩn đều khiến JSON trở nên không hợp lệ.

Quy tắc cú pháp JSON

JSON có 6 kiểu dữ liệu cơ bản:

  • Chuỗi (String): Phải được bao bởi dấu ngoặc kép đôi. Ví dụ: "Xin chào". Dấu ngoặc đơn (') không hợp lệ trong JSON.
  • Số (Number): Nguyên hoặc thập phân, có thể âm hoặc dùng ký hiệu khoa học. Ví dụ: 42, -3.14, 1.5e10.
  • Boolean: Chỉ có hai giá trị truefalse — bắt buộc viết thường.
  • Null: Từ khóa null (viết thường) biểu thị giá trị rỗng/không có.
  • Đối tượng (Object): Tập hợp các cặp khóa-giá trị trong dấu ngoặc nhọn {}. Mỗi khóa phải là chuỗi trong ngoặc kép.
  • Mảng (Array): Danh sách các giá trị trong dấu ngoặc vuông [], phân cách bằng dấu phẩy.

Những điều JSON không cho phép: chú thích (cả ///* */), dấu phẩy thừa sau phần tử cuối cùng, khóa không có dấu ngoặc kép, và các giá trị đặc biệt như undefined, NaN, hay Infinity.

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

1. Dấu phẩy thừa (Trailing Comma)

Đây là lỗi phổ biến nhất khi lập trình viên viết JSON theo thói quen JavaScript. JSON nghiêm ngặt không cho phép dấu phẩy sau phần tử cuối cùng trong đối tượng hoặc mảng. Để tránh: luôn kiểm tra phần tử cuối cùng trước dấu } hoặc ].

2. Thiếu dấu ngoặc kép cho khóa

Trong JavaScript, bạn có thể viết { name: 'Alice' } — nhưng trong JSON, khóa phải luôn có dấu ngoặc kép: { "name": "Alice" }. Đây là nguồn gốc của nhiều lỗi khi sao chép trực tiếp từ code JS sang JSON.

3. Chú thích trong JSON

JSON thuần túy không hỗ trợ chú thích. Nếu bạn cần comment trong file cấu hình, hãy cân nhắc dùng YAML hoặc TOML thay thế. Ngoài ra, một số tool như VS Code hỗ trợ định dạng JSONC (JSON with Comments) riêng — nhưng đây không phải JSON chuẩn.

4. Chuỗi chưa đóng (Unterminated String)

Xảy ra khi chuỗi văn bản bị ngắt giữa chừng hoặc thiếu dấu ngoặc đóng. Thường gặp khi copy-paste nội dung có chứa dấu ngoặc kép bên trong mà không được escape đúng cách (\").

So sánh JSON, XML và YAML

Tiêu chíJSONXMLYAML
Dễ đọcTốtTrung bìnhRất tốt
Hỗ trợ commentKhông
Kích thước fileNhỏLớnTrung bình
Hỗ trợ REST APIChuẩn mựcHạn chếÍt
Dùng trong configPhổ biếnÍt hơnRất phổ biến

Kết luận: JSON thắng ở REST API và web; YAML thắng ở file cấu hình (Kubernetes, Docker Compose, CI/CD); XML vẫn được dùng trong hệ thống doanh nghiệp cũ (SOAP, RSS, XSLT).

Thực hành tốt để viết JSON hợp lệ

  • Luôn dùng trình soạn thảo có highlight cú pháp JSON (VS Code, JetBrains) — lỗi sẽ được tô màu ngay.
  • Dùng linter JSON trong pipeline CI/CD — đừng đợi đến production mới phát hiện lỗi.
  • Khi tạo JSON động bằng code, dùng JSON.stringify() (JavaScript) hoặc json.dumps() (Python) thay vì ghép chuỗi thủ công.
  • Validate JSON sau mỗi lần chỉnh sửa thủ công — đặc biệt khi thêm hoặc xóa phần tử.
  • Đặt tên khóa nhất quán: nên dùng camelCase hoặc snake_case xuyên suốt, không trộn lẫn.
  • Tránh dùng ký tự đặc biệt trong khóa — dù hợp lệ nhưng khó đọc và dễ gây lỗi khi truy cập bằng code.

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

Công cụ dữ liệu khác

JSON Formatter — Beautify, Minify & Validate JSON Online

Format, beautify, and minify JSON data with real-time validation. Configurable indentation (2/4/tab), instant error detection, copy and download. Free online JSON formatter for developers.

JSON Minifier — Compress JSON & Remove Whitespace Online

Minify JSON online by removing all whitespace and indentation. Shows before/after size comparison with savings percentage. Validates JSON before compressing to guarantee valid output. Includes prettify mode, download, and copy. Free, private, runs entirely in your browser.

JSON Diff and Compare — Find JSON Differences

Compare two JSON objects side-by-side and highlight structural differences. Added lines in green, removed in red. Normalizes key order for accuracy.

JSON to YAML Converter — Convert Config Files Online Free

Convert JSON to YAML and YAML to JSON instantly. Bidirectional converter with indent control, key sorting, and sample configs. Free, private, browser-based.

CSV to JSON Converter — Convert Spreadsheet Data Instantly

Convert CSV to JSON online with real-time preview. Supports comma, semicolon, tab, and pipe delimiters. 3 output formats. Free, private, runs in your browser.

XML Formatter & Validator — Prettify, Minify & Validate XML Online

Format and validate XML online with syntax highlighting, configurable indentation (2/3/4 spaces), and real-time error detection. Switch between prettify and minify modes. Uses the browser's native DOMParser — free, private, no data leaves your device.

Giới thiệu về Chuyển đổi dữ liệu

Công cụ developer tự động hóa các phần lặp đi lặp lại của công việc phần mềm: format JSON, encode/decode Base64, decode JWT để xác minh claim của token, tạo UUID, format XML, diff cấu hình. Đây không phải tác vụ hào nhoáng, nhưng là các điểm nghẽn ngốn 10-15 phút nhiều lần mỗi ngày — cộng lại hàng giờ mỗi tuần. Chạy chúng trên tab trình duyệt sạch sẽ hơn vật lộn với phụ thuộc CLI hay extension IDE có thể gửi dữ liệu riêng tư của bạn cho bên thứ ba.

Vì sao nó quan trọng

Công cụ developer client-side nhanh về cơ bản quan trọng vì chúng được dùng với dữ liệu nhạy cảm. JWT token chứa danh tính người dùng. Payload Base64 có thể encode API key. JSON dump bao gồm bản ghi khách hàng. Nếu một 'công cụ developer' gửi input của bạn lên server để xử lý, bạn vừa rò rỉ production secret. Công cụ dev của ZestLab chạy 100% client-side không có network call nào sau khi load page — những gì bạn paste vẫn ở trong trình duyệt.

Riêng tư và an toàn

Tất cả công cụ developer ở đây chạy trong trình duyệt bằng JavaScript thuần. Không có 'decode server' hay 'format API' — JWT, JSON, payload encode của bạn được parse bởi code chạy trên laptop của bạn. Tự xác minh bằng DevTools trình duyệt → Network tab: bạn sẽ thấy không có request nào khi dùng bất kỳ công cụ nào. Đó là tiêu chuẩn chúng tôi giữ vì công cụ dev xử lý secret.

Thực hành tốt

  • Không bao giờ paste JWT hay API token production vào BẤT KỲ công cụ online nào mà không xác minh chạy client-side (check tab Network)
  • Dùng chế độ ẩn danh trình duyệt để decode một lần các payload nhạy cảm
  • Bookmark công cụ bạn dùng hàng ngày — URL công cụ ZestLab ổn định, không cần tài khoản
  • Khi format JSON có secret để team review, redact credential trước khi share output