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í | JSON | XML | YAML |
|---|---|---|---|
| Độ dễ đọc | Cao | Trung bình | Rất cao |
| Kích thước | Nhỏ | Lớn | Nhỏ |
| Tốc độ parse | Nhanh | Chậm | Trung bình |
| Hỗ trợ ngôn ngữ | Rất rộng | Rất rộng | Hạn chế |
| Comment | Không | Có | Có |
Ứ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:
- JSON sang CSV: Sử dụng công cụ JSON to CSV của ToolHub để xuất dữ liệu JSON ra bảng tính Excel
- CSV sang JSON: Sử dụng công cụ CSV to JSON của ToolHub để import dữ liệu từ Excel vào ứng dụng
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ợ:
- JSON Formatter & Validator - Format, validate, và minify JSON
- CSV to JSON Converter - Chuyển đổi dữ liệu bảng sang JSON
- JSON to CSV Converter - Xuất JSON ra file CSV/Excel
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
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 →