דלג לתוכן הראשי

תחביר

1. מבנה בסיסי

  • תוכן הקובץ מתחיל ומסתיים כאובייקט ({}) מוקף בסוגריים מסולסלים object.

  • האובייקט מורכב מזוגות של שם תכונה (key) וערך (value).

  • שם התכונה והערך מופרדים באמצעות נקודתיים (:) או שווה (=).

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: "john@example.com",
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"
}
]
}