ไวยากรณ์ JSON เป็นส่วนย่อยของไวยากรณ์ JavaScript
ไวยากรณ์ JSON ได้มาจากไวยากรณ์อ็อบเจ็กต์ JavaScript:
ข้อมูลอยู่ในคู่ชื่อ/ค่า
ข้อมูลจะถูกคั่นด้วยเครื่องหมายจุลภาค
วงเล็บปีกกายึดวัตถุ
วงเล็บเหลี่ยมถืออาร์เรย์
ข้อมูล JSON เขียนเป็นคู่ชื่อ/ค่า (หรือที่เรียกว่าคู่คีย์/ค่า)
คู่ชื่อ/ค่าประกอบด้วยชื่อฟิลด์ (ในเครื่องหมายคำพูดคู่) ตามด้วยเครื่องหมายโคลอน ตามด้วยค่า:
"name":"John"
ชื่อ JSON ต้องมีเครื่องหมายคำพูดคู่
รูปแบบ JSON เกือบจะเหมือนกับออบเจ็กต์ JavaScript
ใน JSON คีย์ ต้องเป็นสตริงที่เขียนด้วยเครื่องหมายคำพูดคู่:
{"name":"John"}
ใน JavaScript คีย์อาจเป็นสตริง ตัวเลข หรือชื่อตัวระบุ:
{name:"John"}
ใน JSON ค่า ต้องเป็นประเภทข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้:
สตริง
หมายเลข
วัตถุ
อาร์เรย์
บูลีน
โมฆะ
ในค่า JavaScript สามารถเป็นค่าทั้งหมดที่กล่าวมาข้างต้น บวกกับ JavaScript อื่นๆ ที่ถูกต้อง การแสดงออก รวมทั้ง:
ฟังก์ชั่น
วันที่
ไม่ได้กำหนด
ใน JSON ค่าสตริง จะต้องเขียนด้วยเครื่องหมายคำพูดคู่:
{"name":"John"}
ใน JavaScript คุณสามารถเขียนค่าสตริงด้วยเครื่องหมายคำพูดเดี่ยว หรือ คู่:
{name:'John'}
เนื่องจากไวยากรณ์ JSON ได้มาจากสัญกรณ์อ็อบเจ็กต์ JavaScript จึงมีความพิเศษเพียงเล็กน้อย จำเป็นต้องใช้ซอฟต์แวร์เพื่อทำงานกับ JSON ภายใน JavaScript
ด้วย JavaScript คุณสามารถสร้างวัตถุและกำหนดข้อมูลให้ มันแบบนี้:
person = {name:"John", age:31, city:"New York"};
คุณสามารถเข้าถึงวัตถุ JavaScript เช่นนี้:
// returns John
person.name;
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
นอกจากนี้ยังสามารถเข้าถึงได้ดังนี้:
// returns John
person["name"];
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<body>
<h2>Access a JavaScript object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
document.getElementById("demo").innerHTML = myObj["name"];
</script>
</body>
</html>
ข้อมูลสามารถแก้ไขได้ดังนี้:
person.name = "Gilbert";
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York" };
myObj.name = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
นอกจากนี้ยังสามารถแก้ไขได้ดังนี้:
person["name"] = "Gilbert";
ลองด้วยตัวคุณเอง →
<!DOCTYPE html>
<html>
<body>
<h2>Modify a JavaScript Object</h2>
<p id="demo"></p>
<script>
const myObj = {name:"John", age:30, city:"New York"};
myObj["name"] = "Gilbert";
document.getElementById("demo").innerHTML = myObj.name;
</script>
</body>
</html>
คุณจะได้เรียนรู้วิธีแปลงอ็อบเจ็กต์ JavaScript เป็น JSON ในภายหลัง บทช่วยสอน
เช่นเดียวกับที่สามารถเขียนออบเจ็กต์ JavaScript เป็น JSON ได้ อาร์เรย์ JavaScript ก็สามารถทำได้ เขียนเป็น JSON ได้ด้วย
คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับวัตถุและอาร์เรย์ในภายหลังในบทช่วยสอนนี้
ประเภทไฟล์สำหรับไฟล์ JSON คือ ".json"
ประเภท MIME สำหรับข้อความ JSON คือ "application/json"