JSON.parse()
แปลง JSON String ให้กลายเป็น JavaScript Object/Array ใช้เมื่อรับข้อมูลจาก Server (API Response)
ไวยากรณ์
JSON.parse(text[, reviver])
ตัวอย่าง
<html> <body> <script>
var jsonString = '{"name":"Jon", "age":20, "city":"Columbia"}';
var obj = JSON.parse(jsonString);
document.write(obj.name); // Jon
console.log(obj); // {name: "Jon", age: 20, city: "Columbia"}
</script> </body> </html>
ผลลัพธ์ Console
{name: "Jon", age: 20, city: "Columbia"}
Reviver Function (Optional)
ปรับแปลงค่าระหว่าง Parse:
const json = '{"date": "2024-01-15", "value": 100}';
const obj = JSON.parse(json, (key, value) => {
if (key === 'date') return new Date(value);
return value;
});
console.log(obj.date instanceof Date); // true
ข้อผิดพลาดทั่วไป
- SyntaxError: JSON ไม่ถูกต้อง (Single quote, Trailing comma, Comment)
- Circular Reference: ไม่สามารถ Parse Object ที่มี Circular Reference ได้
คู่คู่: JSON.stringify()
ทำทางตรงข้าม: Object → JSON String