JSON là gì? Hướng dẫn format JSON chi tiết từ A-Z

Tháng 6, 2026 · 10 phút đọc

JSON (JavaScript Object Notation) là một trong những định dạng dữ liệu phổ biến nhất trong lập trình web hiện đại. Nếu bạn là developer, data analyst, hoặc bất kỳ ai làm việc với dữ liệu, hiểu biết về JSON là điều bắt buộc. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn từ những kiến thức cơ bản đến nâng cao về JSON.

JSON là gì?

JSON là viết tắt của JavaScript Object Notation - một định dạng trao đổi dữ liệu dựa trên cú pháp của ngôn ngữ JavaScript. Mặc dù có nguồn gốc từ JavaScript, JSON là định dạng độc lập với ngôn ngữ và được hỗ trợ bởi几乎所有 ngôn ngữ lập trình hiện đại.

JSON được Douglas Crockford phổ biến vào đầu những năm 2000 và nhanh chóng trở thành tiêu chuẩn cho việc truyền dữ liệu giữa client và server. Năm 2013, JSON chính thức trở thành tiêu chuẩn ECMA-404 và RFC 8259.

Ưu điểm của JSON

  • Nhẹ: Kích thước nhỏ hơn XML đáng kể, giúp truyền tải nhanh hơn
  • Dễ đọc: Cú pháp đơn giản, dễ hiểu cho cả con người
  • Dễ parse: Mọi ngôn ngữ lập trình đều có thư viện đọc/ghi JSON
  • Linh hoạt: Hỗ trợ nhiều kiểu dữ liệu: string, number, boolean, array, object, null
  • Phổ biến: Là tiêu chuẩn de facto cho REST API và cấu hình ứng dụng

Cú pháp JSON cơ bản

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

1. String (Chuỗi)

Được bao quanh bởi dấu ngoặc kép:

"Xin chào thế giới"
"hello@example.com"
"JSON rất dễ học"

2. Number (Số)

Bao gồm số nguyên và số thập phân:

42
3.14
-100
1.5e10

3. Boolean (Logic)

Chỉ có hai giá trị: true hoặc false

true
false

4. Null

Đại diện cho giá trị rỗng:

null

5. Array (Mảng)

Danh sách các giá trị, phân tách bằng dấu phẩy:

[1, 2, 3, 4, 5]
["táo", "chuối", "cam"]
[{"name": "An"}, {"name": "Bình"}]

6. Object (Đối tượng)

Tập hợp các cặp key-value:

{
  "name": "Nguyễn Văn A",
  "age": 25,
  "email": "a@example.com",
  "isActive": true
}

Ví dụ JSON thực tế

Dưới đây là một ví dụ JSON mô tả thông tin người dùng:

{
  "id": 12345,
  "name": "Trần Thị B",
  "email": "tran.b@example.com",
  "age": 28,
  "address": {
    "street": "123 Đường Lê Lợi",
    "city": "Hồ Chí Minh",
    "country": "Việt Nam"
  },
  "hobbies": ["đọc sách", "du lịch", "lập trình"],
  "isPremium": true,
  "lastLogin": null
}

Cách format JSON đẹp (Pretty Print)

Khi nhận JSON từ API hoặc file, thường nó sẽ ở dạng compact (không có khoảng trắng) để tiết kiệm băng thông. Việc format JSON giúp bạn dễ đọc và debug hơn:

JSON trước khi format:

{"name":"Nguyễn A","age":25,"address":{"city":"HCM","district":"Q1"},"skills":["JS","Python","SQL"]}

JSON sau khi format:

{
  "name": "Nguyễn A",
  "age": 25,
  "address": {
    "city": "HCM",
    "district": "Q1"
  },
  "skills": [
    "JS",
    "Python",
    "SQL"
  ]
}

Sử dụng công cụ JSON Formatter của ToolHub để format và validate JSON ngay lập tức. Công cụ hỗ trợ:

  • Format JSON với indent tùy chỉnh
  • Validate và báo lỗi chi tiết
  • Minify JSON để giảm kích thước
  • Syntax highlighting dễ đọc

Những lỗi JSON thường gặp

Khi viết JSON, có một số lỗi phổ biến cần tránh:

1. Quên dấu phẩy

// SAI
{
  "name": "An"
  "age": 25
}

// ĐÚNG
{
  "name": "An",
  "age": 25
}

2. Sử dụng dấu nháy đơn

// SAI
{'name': 'An'}

// ĐÚNG
{"name": "An"}

3. Có dấu phẩy thừa ở cuối

// SAI
{
  "name": "An",
  "age": 25,
}

// ĐÚNG
{
  "name": "An",
  "age": 25
}

4. Key không được đặt trong dấu ngoặc kép

// SAI
{
  name: "An"
}

// ĐÚNG
{
  "name": "An"
}

5. Sử dụng comment

JSON không hỗ trợ comment. Nếu cần ghi chú, hãy sử dụng trường riêng:

{
  "_comment": "Đây là ghi chú",
  "name": "An"
}

JSON so với các định dạng khác

Tiêu chíJSONXMLYAML
Độ dễ đọcCaoTrung bìnhRất cao
Kích thướcNhỏLớnNhỏ
Tốc độ parseNhanhChậmTrung bình
Hỗ trợ ngôn ngữRất rộngRất rộngHạn chế
CommentKhông

Ứng dụng thực tế của JSON

1. REST API

Hầu hết REST API hiện đại sử dụng JSON để truyền dữ liệu. Khi bạn gọi một API, response thường ở dạng JSON:

// Request
GET /api/users/123

// Response
{
  "status": "success",
  "data": {
    "id": 123,
    "name": "Nguyễn A"
  }
}

2. Cấu hình ứng dụng

Nhiều framework sử dụng JSON cho file cấu hình: package.json (Node.js), tsconfig.json (TypeScript), .eslintrc.json...

3. Cơ sở dữ liệu NoSQL

MongoDB, CouchDB và nhiều cơ sở dữ liệu NoSQL lưu trữ dữ liệu ở dạng JSON/BSON.

4. Lưu trữ dữ liệu trên trình duyệt

LocalStorage và SessionStorage chỉ lưu dữ liệu dạng string, nên JSON là lựa chọn lý tưởng:

// Lưu
localStorage.setItem('user', JSON.stringify({name: 'An', age: 25}));

// Đọc
const user = JSON.parse(localStorage.getItem('user'));

Chuyển đổi JSON sang các định dạng khác

Bạn thường cần chuyển đổi JSON sang các định dạng khác để xử lý dữ liệu:

Công cụ hỗ trợ làm việc với JSON

Để làm việc với JSON hiệu quả, bạn nên sử dụng các công cụ hỗ trợ:

Mẹo làm việc với JSON hiệu quả

  • Luôn validate JSON: Sử dụng JSON Formatter để kiểm tra tính hợp lệ trước khi sử dụng
  • Format JSON khi debug: JSON compact rất khó đọc, hãy format đẹp để dễ debug
  • Sử dụng JSON Schema: Để validate cấu trúc JSON tự động trong ứng dụng
  • Tránh JSON quá lớn: File JSON quá lớn (>10MB) nên được chia nhỏ hoặc sử dụng streaming parser
  • Bảo mật: Không lưu trữ thông tin nhạy cảm (mật khẩu, token) trong JSON không được mã hóa

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

JSON là gì?
JSON (JavaScript Object Notation) là định dạng trao đổi dữ liệu nhẹ, dễ đọc cho cả con người và máy tính. Nó sử dụng cấu trúc key-value và mảng để biểu diễn dữ liệu, được sử dụng rộng rãi trong API và lưu trữ dữ liệu.
JSON khác gì so với XML?
JSON nhẹ hơn, dễ đọc hơn, và parse nhanh hơn XML. XML phù hợp hơn cho tài liệu có cấu trúc phức tạp với thuộc tính và namespace. JSON phổ biến hơn trong web API hiện đại.
Làm thế nào để kiểm tra JSON có hợp lệ không?
Sử dụng công cụ JSON Formatter của ToolHub để validate và format JSON tự động. Công cụ sẽ báo lỗi chính xác vị trí nếu JSON không hợp lệ, giúp bạn sửa nhanh chóng.
JSON có phải là ngôn ngữ lập trình không?
Không, JSON chỉ là định dạng dữ liệu (data format), không phải ngôn ngữ lập trình. Nó không có biến, hàm, hoặc logic điều khiển. JSON chỉ dùng để lưu trữ và trao đổi dữ liệu.
Tại sao JSON phổ biến hơn XML?
JSON nhẹ hơn XML khoảng 30-50%, dễ đọc hơn, và parse nhanh hơn. JavaScript có thể parse JSON trực tiếp với JSON.parse() mà không cần thư viện额外. JSON cũng đơn giản hơn nhiều so với XML.

Format JSON ngay bây giờ

Sử dụng công cụ miễn phí của ToolHub để format, validate, và minify JSON.

Mở JSON Formatter →

Bài viết liên quan