1.JSON Objects -ข้อสังเกตุ : ไม่มี [ ] ครอบข้อมูล
SON objects are written inside curly braces. Just like in JavaScript, objects can contain multiple name/value pairs:
{"firstName":"John", "lastName":"Doe"}
2.JSON Arrays -ข้อสังเกตุ : มี [ ] ครอบข้อมูล
JSON arrays are written inside square brackets. Just like in JavaScript, an array can contain objects:
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
Remark : use the JavaScript built-in function JSON.parse() to convert the string into a JavaScript object
ฉะนั้นการจพนำข้อมูลมาใช้งาน ต้องรู้ก่อนว่า Response มาใน Format ใด แล้วจึงจะสามารถเรียกใช้ได้ ดังเช่นตัวอย่างต่อไปนี้
1.กรณีที่ endpoint ส่ง response มาเป็น JSON Objects
const res = fetch(mlink);
const json = res.json();
console.log(json);
2.กรณีที่ endpoint ส่ง response มาเป็น JSON Arrays
const res = fetch(mlink);
const arrData = await res.json(); //ค่าที่รับเป็น array
const json = Object.assign({}, arrData[0]); //convert array to object
// arrData[0] เป็นตำแน่งที่อยู่ของข้อมูล
console.log(json);
หมายเหตุ : กรณีใช้ axios ก็เช่นเดียวกัน แต่จะสะดวกกว่า
ตัวอย่างของ Endpoint
if($rowcount>0){
while ($row = mysqli_fetch_assoc($result)) {
//$response = $row; //เตรียมส่งค่า response เป็น JSON Objects
$response[] = $row; //เตรียมส่งค่า response เป็น JSON Arrays
}
}else{
//$response['code'] = '400'; //เตรียมส่งค่า response เป็น JSON Objects
//$response['status'] = 'NOT FOUND'; //เตรียมส่งค่า response เป็น JSON Objects
$response[]=array('code'=>'400','status'=>'NOT FOUND'); //response JSON Arrays
}
echo json_encode($response, JSON_UNESCAPED_UNICODE); //แสดงข้อมูลเป็นภาษาไทย