Chủ Nhật, 26 tháng 7, 2026

JSON là gì? (Tại sao API gần như lúc nào cũng trả về JSON?)

Khi bạn mua vài món đồ từ cùng một người bán trên Shopee, họ sẽ đóng gói tất cả vào một hộp và gửi  tới bạn.

Nếu bạn mới học PHP.

Hoặc mới tìm hiểu API.

Thì rất có thể bạn đã từng nhìn thấy một thứ như thế này.

{
    "name": "Nguyễn Văn A",
    "age": 25,
    "city": "Đà Nẵng"
}

😵

Bạn nhìn.

Rồi tự hỏi.

"Đây là code PHP?"

Không.

"Là JavaScript?"

Cũng không hẳn.

"Là Database?"

Không luôn.

😅

Đây chính là:

JSON.

Và nếu bạn làm Web.

Sớm hay muộn.

Bạn sẽ gặp JSON.

Gần như...

Mỗi ngày.


JSON là gì?


JSON (JavaScript Object Notation) là một định dạng dùng để lưu trữ và trao đổi dữ liệu giữa các chương trình.

JSON có cấu trúc đơn giản, dễ đọc và được hầu hết các ngôn ngữ lập trình hỗ trợ.

Ngày nay, phần lớn Web API đều sử dụng JSON để gửi và nhận dữ liệu.



Ví dụ đời thường 📦

Hãy tưởng tượng.

Bạn đặt mua một chiếc điện thoại.

📱

Người bán.

Không thể gửi riêng:

Điện thoại.

Sạc.

Tai nghe.

Hóa đơn.

...

Lung tung.

😄

Họ sẽ bỏ tất cả.

Vào:

Một chiếc hộp.

Đóng gói.

Gửi cho bạn.

JSON cũng giống như vậy.

Nó là:

Chiếc hộp dùng để đóng gói dữ liệu.


API rất thích JSON 😄

Ở bài trước.

Chúng ta nói.

API giống như nhân viên phục vụ.

🍔

Bạn gọi:

"Một hamburger."

Nhà bếp làm xong.

Nhân viên mang ra.

Nhưng.

Mang bằng cái gì?

😄

Đó chính là:

JSON.


Ví dụ đơn giản

Một người dùng.

Có:

Tên.

Tuổi.

Địa chỉ.

JSON sẽ trông như thế này.

{
    "name": "Lan",
    "age": 20,
    "city": "Huế"
}

Rất dễ đọc.

Ngay cả người không biết lập trình.

Cũng đoán được ý nghĩa.


JSON giống một chiếc hộp có nhãn

Ví dụ.

Bạn mở hộp.

😄

Bên ngoài có ghi:

Tên

Bên trong.

Lan

Tiếp theo.

Tuổi

20

Đó chính là:

{
    "name":"Lan",
    "age":20
}

JSON có lưu nhiều dữ liệu được không?

Được.

Ví dụ.

Danh sách sản phẩm.

[
    {
        "name":"Laptop",
        "price":1500
    },
    {
        "name":"Mouse",
        "price":25
    }
]

Đây là điều API làm mỗi ngày.


Vì sao không dùng HTML?

Đây là câu hỏi rất hay.

😄

HTML được tạo ra để:

Hiển thị.

Ví dụ.

<h1>Laptop</h1>

Trình duyệt nhìn vào.

Biết phải hiện tiêu đề.


JSON thì khác.

Nó không quan tâm giao diện.

Nó chỉ mang:

Dữ liệu.

Ví dụ.

{
    "product":"Laptop"
}

Website.

Ứng dụng.

Hoặc điện thoại.

Muốn hiển thị thế nào.

Là việc của chúng.


PHP có làm việc với JSON không?

Có.

Rất nhiều.

😄

PHP có:

json_encode()

Để biến dữ liệu thành JSON.

Ví dụ.

$user = [
    "name" => "Lan",
    "age" => 20
];

echo json_encode($user);

Kết quả.

{
    "name":"Lan",
    "age":20
}

Còn ngược lại?

PHP cũng có:

json_decode()

Để đọc JSON.

Ví dụ.

API gửi về.

{
    "temperature":30
}

PHP sẽ đọc.

Rồi lấy ra.


Để xử lý.


InfinityFree Case 😅

Có bạn hỏi.

"Em gọi API.

Màn hình hiện."

{
   "status":"success",
   "data":[...]
}

😨

Bạn ấy nghĩ.

API bị lỗi.

Không.

😄

API đang làm đúng.

Nó trả về:

JSON.

Việc của website.

Là đọc JSON.

Rồi hiển thị đẹp hơn.


JSON có phải Database không?

Không.

😄

Database.

Là nơi lưu dữ liệu.

JSON.

Chỉ là cách đóng gói dữ liệu.

Giống như.

Một chiếc thùng carton.

Không phải.

Kho hàng.


JSON có phải chỉ JavaScript mới dùng?

Không.

Đây là hiểu lầm rất phổ biến.

😄

Tên có chữ:

JavaScript.

Nhưng.

PHP.

Python.

Java.

C#.

Go.

Node.js.

Ruby.

...

Đều dùng JSON.


Một hiểu lầm rất phổ biến 🤡

Nhiều người nghĩ.

JSON.

Là ngôn ngữ lập trình.

Không.

😄

JSON.

Không chạy chương trình.

Không có:

if.

for.

while.

function.

...

JSON.

Chỉ dùng để:

Mang dữ liệu.


Một mẹo cực hay 😎

Nếu mở API.

Thấy.

{
...
}

Hoặc.

[
...
]

Đừng sợ.

😄

Bạn chỉ đang nhìn thấy.

Một "gói hàng."

Việc tiếp theo.

Là mở gói hàng.

Rồi lấy dữ liệu ra.


Debug kiểu dev thật 😎

✅ 1. Đọc JSON trước

Đừng vội code.

Hãy xem API trả gì.

✅ 2. Kiểm tra dấu ngoặc

JSON rất ghét thiếu:

}

Hoặc.

]

✅ 3. Kiểm tra dấu phẩy

Thiếu hoặc thừa.

JSON đều báo lỗi.

✅ 4. Dùng json_decode()

Trong PHP.

Đừng tự cắt chuỗi.

😄

✅ 5. Luôn đọc tài liệu API

Xem dữ liệu trả về có cấu trúc ra sao.


Checklist chuẩn không cần chỉnh 😎

☑ JSON là định dạng dữ liệu

☑ JSON không phải Database

☑ JSON không phải ngôn ngữ lập trình

☑ API hiện đại thường dùng JSON

☑ PHP có json_encode()

☑ PHP có json_decode()


FAQ nhanh

JSON là viết tắt của gì?

→ JavaScript Object Notation.

JSON có phải JavaScript không?

→ Không. Đây là định dạng dữ liệu được rất nhiều ngôn ngữ lập trình sử dụng.

Vì sao API thích dùng JSON?

→ Vì JSON nhỏ gọn, dễ đọc và hầu như ngôn ngữ nào cũng hỗ trợ.

PHP có đọc được JSON không?

→ Có. PHP hỗ trợ rất tốt thông qua json_encode()json_decode().


Bạn có thể cũng đang gặp 😭

👉 API là gì? (Giải thích như gọi đồ ăn.)

👉 HTTP vs HTTPS là gì? (Vì sao trình duyệt hiện "Not Secure"?)

👉 Cookie là gì? (Vì sao website nhớ được bạn là ai?)

👉 Session vs Cookie - Hai anh em dễ nhầm nhất của PHP

👉 SQL Injection là gì?


Tổng kết

Nếu API giống như...

Một nhân viên giao hàng.

🚚

Thì.

JSON chính là:

Chiếc hộp đựng hàng.

😄

API không quan tâm.

Bên trong là:

Tên.

Tuổi.

Sản phẩm.

Đơn hàng.

Hay dự báo thời tiết.

Nó chỉ cần đóng gói dữ liệu thật gọn.

Rồi giao đến nơi.

Việc của chương trình nhận.

Là mở chiếc hộp đó ra.

Đọc dữ liệu.

Và hiển thị theo cách mình muốn.

Đó là lý do.

Ngày nay.

Hầu như mọi Web API.

Đều chọn JSON.

Đơn giản.

Nhẹ.

Dễ hiểu.

Dễ xử lý.

Và nếu bạn chỉ nhớ một điều từ bài này, hãy nhớ:

API là người giao hàng.

JSON là chiếc hộp đựng dữ liệu mà người giao hàng mang đến cho bạn. 📦