Skip to main content

ไวยากรณ์

1. โครงสร้างพื้นฐาน

  • เนื้อหาของไฟล์เริ่มต้นและสิ้นสุดด้วยอ็อบเจ็กต์ที่ห่อหุ้มด้วยเครื่องหมายปีกกา {}.

  • อ็อบเจ็กต์ประกอบด้วยคู่คีย์-ค่า โดยที่คีย์คือตัวระบุของแอตทริบิวต์และค่าคือค่าของแอตทริบิวต์นั้น.

  • คีย์และค่าจะถูกแยกออกจากกันด้วยเครื่องหมายโคลอน (:) หรือเครื่องหมายเท่ากับ (=).

2. คำอธิบาย

  • คำอธิบายเริ่มต้นด้วย // หรือ # และเขียนในบรรทัดเดียว.

  • คำอธิบายจะใช้จนถึงตอนสิ้นสุดบรรทัด.

  • ไม่รองรับคำอธิบายหลายบรรทัด หากต้องการเขียนคำอธิบายหลายบรรทัด จำเป็นต้องเพิ่ม // หรือ # ที่จุดเริ่มต้นของแต่ละบรรทัด.

3. อ็อบเจ็กต์ (Object)

  • อ็อบเจ็กต์จะห่อหุ้มด้วยเครื่องหมายปีกกา {} และประกอบด้วยคู่คีย์-ค่า.

  • คุณสามารถใช้เครื่องหมาย : หรือ = ระหว่างคีย์และค่า ทั้งสองเครื่องหมายสามารถใช้แทนกันได้.

  • ทุกๆ คุณสมบัติจะถูกแยกด้วยเครื่องหมายจุลภาค (,).

  • คุณสามารถซ้อนอ็อบเจ็กต์อื่นๆ ภายในอ็อบเจ็กต์.

ตัวอย่าง:

{
status: "success",
code = 200,
user = { id: 123, name: "John Doe" }
}

4. อาร์เรย์ (Array)

  • อาร์เรย์จะห่อหุ้มด้วยเครื่องหมายวงเล็บเหลี่ยม [] และแต่ละสมาชิกจะแยกด้วยเครื่องหมายจุลภาค (,).

  • สมาชิกของอาร์เรย์สามารถเป็นอ็อบเจ็กต์, สตริง, ตัวเลข หรือชนิดข้อมูลอื่นๆ.

  • ใน WSON อาร์เรย์สามารถรวมอยู่ภายในอ็อบเจ็กต์ และอาร์เรย์สามารถบรรจุอาร์เรย์หรืออ็อบเจ็กต์อื่นๆ ได้.

ตัวอย่าง:

tasks: [
{ task_id: 1, title: "Complete project report" },
{ task_id: 2, title: "Review team feedback" }
]

5. คู่คีย์-ค่า (Key-Value Pair)

  • ชื่อของคุณสมบัติเป็นสตริงและจะถูกวางหลังจาก : หรือ =, โดยไม่มีช่องว่าง.

  • ค่าของคุณสมบัติอาจเป็นสตริง, ตัวเลข, บูลีน, อ็อบเจ็กต์, หรืออาร์เรย์.

  • สตริงจะถูกห่อหุ้มด้วยเครื่องหมายคำพูดคู่ (").

  • ตัวเลขจะไม่ใช้เครื่องหมายคำพูดและสามารถเป็นจำนวนเต็มหรือจำนวนทศนิยม.

ตัวอย่าง:

name: "John Doe"
age = 25

6. ประเภทข้อมูล (Data Types)

  • สตริง (String): ข้อความที่ห่อหุ้มด้วยเครื่องหมายคำพูดคู่ (").
"hello world"
  • ตัวเลข (Number): ค่าเป็นจำนวนเต็มหรือจำนวนทศนิยม.
42
3.14
  • บูลีน (Boolean): ค่าคือ true หรือ false.
is_active = true
  • อ็อบเจ็กต์ (Object): เซตของคู่คีย์-ค่าที่ห่อหุ้มด้วย {}.

  • อาร์เรย์ (Array): รายการของสมาชิกที่ห่อหุ้มด้วย [].

7. การอธิบายตัวอย่าง

{
// ข้อมูลรหัสสถานะและข้อความ
status: "success",
code: 200,
message: "Data retrieved successfully",

user = {
id = 123,
name: "John Doe",
email: "[email protected]",
age: 25 # อายุผู้ใช้
},

tasks: [
{
task_id: 1,
title: "Complete project report",
status: "in-progress",
due_date: "2024-10-15"
},
{
task_id: 2,
title: "Review team feedback",
status: "pending",
due_date: "2024-10-20"
}
]
}