~/VibeHandbook
PDF miễn phí

Chương 04 · 03

JSON là gì

Khi ứng dụng của bạn hỏi một một câu hỏi, câu trả lời trở về dưới dạng văn bản theo một định dạng gọi là . Nó trở thành mặc định vì nó vừa dễ đọc với con người vừa dễ xử lý với chương trình. Bạn sẽ thấy nó liên tục, nên đáng để biết đọc nó.

JSON được xây dựng từ khóa và giá trị (keys and values). Một khóa là một nhãn nằm trong dấu ngoặc kép; một giá trị là dữ liệu gắn với nó. Đây là một ví dụ thực tế mô tả một người dùng:

{
  "id": 42,
  "name": "Ada Lovelace",
  "email": "[email protected]",
  "isAdmin": false,
  "loginCount": 137,
  "tags": ["beta", "early-access"],
  "profile": {
    "city": "London",
    "avatarUrl": null
  }
}

Hãy đọc nó giống như một biểu mẫu ai đó đã điền. "name" là một trường (field), "Ada Lovelace" là những gì họ viết vào đó. Hai cấu trúc làm hết mọi việc:

  • Một object (đối tượng) được bọc trong dấu ngoặc nhọn { }. Nó là một bó các cặp khóa/giá trị — giống như một bản ghi. Toàn bộ ví dụ trên là một object.
  • Một array (mảng) được bọc trong dấu ngoặc vuông [ ]. Nó là một danh sách có thứ tự các giá trị. Ở trên, "tags" chứa một mảng gồm hai chuỗi.

Chú ý rằng "profile" là một object bên trong object khác. JSON có thể lồng nhau — một giá trị tự nó có thể là một object hoặc một array, sâu bao nhiêu tùy ý. Đó là cách một phản hồi duy nhất có thể mô tả một người dùng, địa chỉ của họ, và mười đơn hàng gần nhất của họ cùng một lúc.

Vẽ dưới dạng cây, cùng một object người dùng đó cho thấy hình dạng của nó chỉ trong một cái nhìn — các trường phẳng ở trên cùng, một danh sách và một object lồng nhau tách nhánh ra:

   { } user (object)
   ├── id .......... 42            (number)
   ├── name ........ "Ada Lovelace" (string)
   ├── isAdmin ..... false          (boolean)
   ├── tags ........ [ ] (array)
   │   ├── "beta"
   │   └── "early-access"
   └── profile ..... { } (object)
       ├── city ...... "London"     (string)
       └── avatarUrl . null         (null = no value)

Muốn bản ngoại tuyến?

Tải trọn cuốn sách dưới dạng PDF hoặc EPUB — miễn phí.