Hướng dẫn6 min read4 tháng 6, 2026

JSON là gì? Hướng dẫn cách đọc, viết và validate JSON đúng chuẩn

Giải thích JSON là gì, cú pháp cơ bản, cách đọc và viết JSON, các lỗi JSON thường gặp và cách sửa, cùng công cụ format và validate JSON miễn phí online.

JSON (JavaScript Object Notation) là định dạng trao đổi dữ liệu phổ biến nhất trong lập trình web hiện đại. Hầu hết mọi REST API, cấu hình ứng dụng, và cơ sở dữ liệu NoSQL đều dùng JSON. Bài viết này giải thích JSON từ cơ bản đến thực tế.

JSON là gì?

JSON là định dạng văn bản nhẹ để lưu trữ và trao đổi dữ liệu có cấu trúc. JSON dễ đọc cho người và dễ parse cho máy. Mặc dù tên gọi xuất phát từ JavaScript, JSON là định dạng độc lập ngôn ngữ — được hỗ trợ trong Python, Java, PHP, Go, Rust và hầu hết ngôn ngữ lập trình khác.

6 kiểu dữ liệu trong JSON

  • String (chuỗi): "Hello World" — phải dùng dấu nháy kép, không dùng nháy đơn
  • Number (số): 42, 3.14, -100 — không cần dấu nháy
  • Boolean: true hoặc false — viết thường, không có dấu nháy
  • null: giá trị rỗng/không xác định
  • Array (mảng): ["a", "b", "c"] hoặc [1, 2, 3]
  • Object (đối tượng): {"key": "value", "age": 25}

Cấu trúc JSON cơ bản — Ví dụ thực tế

Một đối tượng người dùng trong JSON:

  • {
  • "id": 1,
  • "name": "Nguyễn Văn An",
  • "email": "[email protected]",
  • "age": 28,
  • "isActive": true,
  • "address": {
  • "city": "Hà Nội",
  • "district": "Hoàn Kiếm"
  • },
  • "tags": ["developer", "javascript", "nodejs"],
  • "avatar": null
  • }

5 quy tắc cú pháp JSON phải nhớ

  1. 1.Key (tên trường) phải là chuỗi có dấu nháy kép: "name", không phải name hay 'name'
  2. 2.String phải dùng dấu nháy kép, không dùng nháy đơn: "hello" ✓, 'hello' ✗
  3. 3.Không có trailing comma — dấu phẩy sau phần tử cuối cùng là lỗi: [1, 2, 3,] ✗
  4. 4.Giá trị boolean và null phải viết thường: true, false, null — không viết hoa
  5. 5.Không có comment — JSON không hỗ trợ // hay /* */ như JavaScript

Lỗi phổ biến nhất khi viết JSON: trailing comma (dấu phẩy thừa ở cuối). Sau phần tử hoặc property cuối cùng không được có dấu phẩy. Đây là lý do JSON formatter/validator rất hữu ích.

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

  • Dùng nháy đơn: {"name": 'An'} → sửa thành {"name": "An"}
  • Trailing comma: {"a": 1, "b": 2,} → bỏ dấu phẩy cuối
  • Key không có dấu nháy: {name: "An"} → {"name": "An"}
  • Dấu phẩy thiếu giữa các phần tử: {"a": 1 "b": 2} → {"a": 1, "b": 2}
  • Ngoặc không khớp: {"a": [1, 2} → {"a": [1, 2]}
  • Ký tự đặc biệt không được escape: {"text": "He said "hi""} → {"text": "He said \"hi\""}

JSON trong thực tế: REST API

Khi bạn gọi một REST API, dữ liệu trả về gần như luôn là JSON. Ví dụ gọi GET /api/users/1:

  • Response body: {"id": 1, "name": "An", "email": "[email protected]"}
  • Header: Content-Type: application/json
  • Frontend nhận về và parse: const user = await response.json()
  • Truy cập dữ liệu: console.log(user.name) // "An"

JSON vs XML — tại sao JSON thắng?

  • Ngắn gọn hơn — cùng dữ liệu, JSON thường nhỏ hơn XML 30–40%
  • Dễ đọc hơn cho developer
  • Parse nhanh hơn trong JavaScript (JSON.parse() là native)
  • Gắn liền với JavaScript/web ecosystem
  • XML vẫn dùng trong: SOAP API, RSS feeds, cấu hình Java/Android, Word/Excel files

Cách format và validate JSON online

  1. 1.Mở công cụ JSON Formatter của Toolvy (link bên dưới)
  2. 2.Dán JSON của bạn vào ô Input JSON bên trái
  3. 3.Nhấn Format để làm đẹp JSON với indentation chuẩn
  4. 4.Nếu JSON có lỗi, thông báo lỗi sẽ hiển thị chính xác chỗ sai
  5. 5.Nhấn Minify để nén JSON cho production
  6. 6.Nhấn Copy để sao chép kết quả

Frequently Asked Questions

JSON và JavaScript Object có khác nhau không?
Có. JavaScript Object linh hoạt hơn: cho phép nháy đơn, trailing comma, key không cần nháy, và hỗ trợ undefined. JSON là tập con nghiêm ngặt hơn: luôn dùng nháy kép, không có trailing comma, không có comment, không có undefined.
Sự khác biệt giữa JSON.parse() và JSON.stringify()?
JSON.parse(chuỗi) chuyển chuỗi JSON thành JavaScript object. JSON.stringify(object) chuyển JavaScript object thành chuỗi JSON. Đây là hai hàm cốt lõi khi làm việc với JSON trong JavaScript.
JSON có phân biệt hoa thường không?
Có. Trong JSON, "Name" và "name" là hai key khác nhau. Tương tự, Boolean phải là true/false viết thường — True hay FALSE sẽ gây lỗi parse.
Có thể đặt comment trong JSON không?
Không. JSON không hỗ trợ comment. Nếu bạn cần file cấu hình có comment, hãy dùng JSONC (JSON with Comments, như trong VS Code settings.json) hoặc YAML thay thế.

Dán JSON vào để format đẹp, phát hiện lỗi cú pháp, hoặc minify cho production — tất cả trong trình duyệt.

Format và validate JSON miễn phí →