Công cụ
VI

JSON là gì?

JSON (JavaScript Object Notation) là một định dạng văn bản gọn nhẹ dùng để lưu trữ và trao đổi dữ liệu. Con người dễ đọc, chương trình dễ phân tích, nhờ vậy JSON đã trở thành định dạng chuẩn của web API, file cấu hình và dữ liệu xuất ra từ các ứng dụng.

JSON nghĩa là gì và ví dụ đầu tiên

JSON là viết tắt của JavaScript Object Notation. Định dạng này được Douglas Crockford phổ biến vào đầu những năm 2000, mượn cú pháp từ JavaScript và được chuẩn hóa trong RFC 8259 và ECMA-404. Dù mang tên như vậy, JSON không phụ thuộc vào ngôn ngữ lập trình nào: hầu như mọi ngôn ngữ đều đọc và ghi được JSON.

Một tài liệu JSON nhỏ mô tả một người:

{"name": "Ada Lovelace", "born": 1815, "languages": ["English", "French"], "mathematician": true, "spouse": null}

Các kiểu dữ liệu trong JSON

KiểuVí dụGhi chú
Chuỗi (string)"Hello"văn bản trong dấu nháy kép, có thể chứa escape như \n
Số (number)42, -3.14, 6.02e23không có NaN, Infinity, hệ thập lục phân hay số 0 ở đầu
Booleantrue, falseluôn viết chữ thường
Nullnullgiá trị rỗng hoặc chưa xác định
Đối tượng (object){"key": "value"}các cặp tên/giá trị; tên luôn là chuỗi
Mảng (array)[1, 2, 3]danh sách có thứ tự gồm các giá trị thuộc bất kỳ kiểu nào

JSON không có kiểu ngày tháng: ngày thường được viết dưới dạng chuỗi ISO 8601 như "2026-05-01T10:00:00Z".

Định dạng JSON: các quy tắc cú pháp

File JSON là gì?

File JSON là file văn bản thuần có phần mở rộng .json, chứa một tài liệu JSON. Kiểu media của nó là application/json và nên được lưu ở dạng UTF-8. Những file JSON thường gặp là dữ liệu xuất từ ứng dụng và trang web (ví dụ Google Takeout hoặc dữ liệu tải về từ mạng xã hội), file cấu hình như package.json, phản hồi API được lưu xuống đĩa và tập dữ liệu để phân tích. Vì là văn bản thuần, file JSON an toàn khi mở – nó không thể chạy code.

Cách mở file JSON

Ở đâuCách mở
WindowsNhấp chuột phải vào file → Open with (Mở bằng) → Notepad, hoặc dùng trình soạn thảo code như VS Code. Kéo file vào cửa sổ trình duyệt cũng xem được.
MacMở bằng TextEdit hoặc trình soạn thảo code, hoặc thả file vào cửa sổ trình duyệt.
iPhone và AndroidMở từ ứng dụng Tệp (Files) bằng trình xem văn bản, hoặc tải vào một công cụ xem JSON online – công cụ của chúng tôi chạy được trên điện thoại và file vẫn nằm trên thiết bị của bạn.
Trình duyệt webFirefox có sẵn trình xem JSON; trên mọi trình duyệt, công cụ xem JSON online hiển thị dữ liệu dạng cây thu gọn được.
ExcelTrên Windows, dùng Data → Get Data → From File → From JSON, hoặc chuyển file bằng công cụ JSON sang CSV trước.

So sánh JSON và XML

JSONXML
Cú phápdấu ngoặc nhọn, ngoặc vuông, cặp tên/giá trịthẻ mở và thẻ đóng
Kiểu dữ liệuchuỗi, số, boolean, null, đối tượng, mảngchỉ có văn bản, trừ khi schema định nghĩa kiểu
Kích thướcgọnlớn hơn do có thẻ đóng
Chú thíchkhôngcó
Thuộc tính, namespacekhôngcó
Mục đích sử dụng thường gặpweb API, cấu hình, cơ sở dữ liệu NoSQLtài liệu, file văn phòng, SOAP và hệ thống doanh nghiệp

JSON trong API và ứng dụng

Hầu hết web API gửi và nhận JSON. Client gửi request kèm header Content-Type: application/json, server trả về JSON, và chương trình chuyển nó thành đối tượng gốc của ngôn ngữ bằng JSON.parse trong JavaScript, json.loads trong Python hoặc json_decode trong PHP. JSON cũng là nền tảng của các file cấu hình như package.json và tsconfig.json, cơ sở dữ liệu dạng tài liệu như MongoDB, và đầu ra có cấu trúc của các mô hình AI.

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

Hãy dán dữ liệu vào công cụ kiểm tra JSON để xem chính xác dòng và cột bị lỗi, hoặc để Sửa lỗi tự động khắc phục.

JSON5, JSONC và JSON Lines

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

JSON có phải là ngôn ngữ lập trình không?

Không. JSON là một định dạng dữ liệu: nó mô tả dữ liệu nhưng không thể chứa logic, hàm hay chú thích.

JSON có giống đối tượng JavaScript không?

Không. JSON là văn bản trông giống object literal của JavaScript nhưng nghiêm ngặt hơn: khóa và chuỗi phải dùng dấu nháy kép, và không cho phép hàm, undefined hay chú thích. JSON.parse sẽ chuyển văn bản đó thành một đối tượng thực sự.

Làm sao để tạo file JSON?

Viết dữ liệu trong bất kỳ trình soạn thảo văn bản nào theo các quy tắc ở trên và lưu ở dạng UTF-8 với phần mở rộng .json. Hãy kiểm tra bằng công cụ kiểm tra JSON trước khi sử dụng.

Cập nhật lần cuối: