Синтаксис
1. Основная структура
-
Содержание файла начинается и заканчивается объектом, заключенным в фигурные скобки
{}
. -
Объект состоит из пар ключ-значение, где ключ — это имя атрибута, а значение — это значение атрибута.
-
Ключ и значение разделяются двоеточием (
:
) или знаком равенства (=
).
2. Комментарии
Комментарии начинаются с //
или #
и пишутся в одну строку.
Комментарии распространяются на всю строку.
Многострочные комментарии не поддерживаются. Если необходимо написать комментарии на нескольких строках, необходимо добавить //
или #
в начале каждой строки.
3. Объект
-
Объект заключен в фигурные скобки
{}
и содержит пары ключ-значение. -
Можно использовать как
:
так и=
, чтобы отделить ключ от значения. Оба символа взаимозаменяемы. -
Каждое свойство отделяется запятой (
,
). -
В объекте могут быть вложенные другие объекты.
Пример:
{
status: "success",
code = 200,
user = { id: 123, name: "John Doe" }
}
4. Массив
-
Массив заключен в квадратные скобки
[]
, а элементы разделяются запятыми (,
). -
Элементы массива могут быть объектами, строками, числами и другими типами данных.
-
В WSON массивы могут быть включены в объекты, и массивы могут содержать другие массивы или объекты.
Пример:
tasks: [
{ task_id: 1, title: "Complete project report" },
{ task_id: 2, title: "Review team feedback" }
]
5. Пары ключ-значение
-
Имена атрибутов — это строки, и они идут непосредственно после
:
или=
, без пробела. -
Значение может быть строкой, числом, булевым значением, объектом или массивом.
-
Строки заключаются в двойные кавычки (
"
). -
Числа записываются без кавы чек и могут быть целыми или с плавающей запятой.
Пример:
name: "John Doe"
age = 25
6. Типы данных
- Строка (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"
}
]
}