پرش به مطلب اصلی

دستور زبان

1. ساختار پایه

  • محتوای فایل با شیئی (object) که در آکولاد {} قرار گرفته است، شروع و پایان می‌یابد.

  • شیء از جفت‌های نام خصوصیت (key) و مقدار (value) تشکیل شده است.

  • نام و مقدار خصوصیت با علامت دو نقطه (:) یا تساوی (=) از هم جدا می‌شوند.

2. توضیحات

  • توضیحات با // یا # شروع می‌شوند و در یک خط نوشته می‌شوند.

  • توضیحات تا انتهای همان خط اعتبار دارند.

  • توضیحات چند خطی به طور جداگانه پشتیبانی نمی‌شوند و در صورت نیاز به توضیح چند خطی، باید در ابتدای هر خط // یا # اضافه گردد.

3. شیء (Object)

  • شیء با آکولاد {} محاط شده و شامل جفت‌های کلید-مقدار است.

  • بین کلید و مقدار می‌توان از نشانه : یا = استفاده کرد. امکان استفاده مختلط از دو نشانه وجود دارد.

  • هر خصوصیت با ویرگول (,) از دیگری جدا می‌شود.

  • درون شیء می‌توان از شیء دیگری به صورت تو در تو استفاده کرد.

مثال:

{
status: "موفقیت‌آمیز",
code = 200,
user = { id: 123, name: "جان دو" }
}

4. آرایه (Array)

  • آرایه با کروشه [] محاط و عناصر آن با ویرگول , از هم جدا می‌شوند.

  • عناصر آرایه می‌توانند انواع مختلفی مانند شیء، رشته، عدد و غیره باشند.

  • در WSON، آرایه می‌تواند درون یک شیء شامل شود و درون آرایه می‌تواند آرایه یا شیء دیگری به صورت تو در تو باشد.

مثال:

tasks: [
{ task_id: 1, title: "تکمیل گزارش پروژه" },
{ task_id: 2, title: "بررسی بازخورد تیم" }
]

5. جفت کلید-مقدار (Key-Value Pair)

  • نام خصوصیت از رشته تشکیل شده و بدون فاصله مقداری بعد از : یا = قرار می‌گیرد.

  • انواع مقادیر شامل رشته، عدد، بولی، شیء، آرایه و غیره می‌باشند.

  • رشته با نقل قول بزرگ محاط می‌شود.

  • اعداد بدون استفاده از نقل قول بزرگ به کار رفته و می‌توانند به صورت صحیح یا اعشاری باشند.

مثال:

name: "جان دو"
age = 25

6. نوع داده (Data Types)

  • رشته (String): متنی است که با نقل قول بزرگ " بسته شده است.
"سلام دنیا"
  • عدد (Number): مقداری به صورت عدد صحیح یا اعشاری است.
42
3.14
  • بولی (Boolean): از مقادیر true یا false استفاده می‌کند.
is_active = true
  • شیء (Object): جفت کلید-مقدار که با آکولاد {} محاط شده است.
  • آرایه (Array): لیستی از عناصر که با کروشه [] محاط شده‌اند.

7. توضیح مثال

{
// کد وضعیت و اطلاعات پیام
status: "موفقیت‌آمیز",
code: 200,
message: "اطلاعات با موفقیت بازیابی شد",

user = {
id = 123,
name: "جان دو",
email: "john@example.com",
age: 25 # سن کاربر
},

tasks: [
{
task_id: 1,
title: "تکمیل گزارش پروژه",
status: "درحال پیشرفت",
due_date: "2024-10-15"
},
{
task_id: 2,
title: "بررسی بازخورد تیم",
status: "در انتظار",
due_date: "2024-10-20"
}
]
}