~/VibeHandbook
PDF ฟรี

บท 04 · 03

JSON คืออะไร

เมื่อแอปของคุณถามคำถาม คำตอบจะกลับมาเป็นข้อความในรูปแบบที่เรียกว่า มันกลายเป็นค่าเริ่มต้นเพราะมนุษย์อ่านออก และ โปรแกรมจัดการง่าย คุณจะเจอมันบ่อยมาก จึงคุ้มค่าที่จะอ่านมันให้เป็น

JSON สร้างจาก คีย์และค่า (keys and values) คีย์คือป้ายชื่อในเครื่องหมายคำพูด ส่วนค่าคือข้อมูลที่ผูกอยู่กับคีย์นั้น นี่คือตัวอย่างจริงที่อธิบายผู้ใช้คนหนึ่ง:

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

อ่านมันเหมือนแบบฟอร์มที่มีคนกรอกไว้ "name" คือช่องกรอกข้อมูล "Ada Lovelace" คือสิ่งที่เขากรอกลงไป มีโครงสร้างสองแบบที่ทำงานทั้งหมดนี้:

  • object (อ็อบเจกต์) ห่อด้วยปีกกา { } มันคือกลุ่มของคู่คีย์/ค่า — เหมือนหนึ่งระเบียน ตัวอย่างทั้งหมดข้างบนคือหนึ่ง object
  • array (อาร์เรย์) ห่อด้วยวงเล็บเหลี่ยม [ ] มันคือรายการค่าที่เรียงลำดับ ในตัวอย่างข้างบน "tags" เก็บอาร์เรย์ของข้อความสองอัน

สังเกตว่า "profile" เป็น object ที่ซ้อนอยู่ ภายใน object อีกที JSON สามารถซ้อนกันได้ — ค่าหนึ่งค่าอาจเป็น object หรือ array ในตัวมันเองก็ได้ ซ้อนลึกไปได้เท่าที่ต้องการ นี่คือวิธีที่คำตอบเดียวสามารถอธิบายผู้ใช้ ที่อยู่ของเขา และคำสั่งซื้อสิบรายการล่าสุดของเขาได้พร้อมกันในคราวเดียว

เมื่อวาดเป็นแผนภูมิต้นไม้ object ผู้ใช้ตัวเดียวกันจะแสดงรูปทรงให้เห็นในทันที — ฟิลด์แบบเรียบๆ อยู่ด้านบน ส่วนลิสต์และ object ที่ซ้อนกันแตกกิ่งออกไป:

   { } 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)

อยากได้แบบออฟไลน์?

ดาวน์โหลดหนังสือทั้งเล่มเป็น PDF หรือ EPUB — ฟรี