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)