Ответ
Стандарт JSON (RFC 8259) определяет шесть примитивных типов данных:
-
String (Строка): Последовательность символов Unicode в двойных кавычках.
"name": "Анна", "comment": "Строка с "экранированными" кавычками" -
Number (Число): Целое или число с плавающей запятой. Не поддерживает
NaNилиInfinity."count": 42, "temperature": -10.5, "price": 99.95 -
Boolean (Логический тип): Литералы
trueилиfalse."active": true, "verified": false -
Null: Литерал
null, представляющий пустое или отсутствующее значение."middleName": null -
Array (Массив): Упорядоченный список значений в квадратных скобках
[]. Значения могут быть разных типов."tags": ["urgent", "backend"], "matrix": [[1, 0], [0, 1]] -
Object (Объект): Неупорядоченная коллекция пар ключ-значение в фигурных скобках
{}. Ключ — всегда строка."address": { "city": "Москва", "street": "Тверская" }
Пример полного JSON-документа:
{
"id": 101,
"username": "dev_user",
"premium": true,
"score": null,
"roles": ["editor", "viewer"],
"settings": {
"theme": "dark",
"notifications": false
}
}
Важно: JSON не поддерживает типы Date, Function или комментарии. Даты обычно передаются как строки в ISO 8601 формате ("2024-01-15T10:30:00Z").
Ответ 18+ 🔞
Так, слушай, а вот этот ваш JSON, блядь, он же как простая штука устроена, ёпта! Всего шесть типов, и нихуя больше, запомнил? Не выдумывай велосипеды.
Вот они, эти шесть китов, на которых всё держится:
-
Строка (String). Это просто текст в двойных кавычках, и всё. Хочешь кавычки внутри написать — экранируй, падла.
"name": "Анна", "comment": "Строка с "экранированными" кавычками" -
Число (Number). Циферки, блядь. Целые, дробные, отрицательные — пожалуйста. Но
NaNилиInfinityтут не катят, это не по стандарту, ёпта."count": 42, "temperature": -10.5, "price": 99.95 -
Булевый тип (Boolean). Всё просто, как три копейки: либо
true, либоfalse. Никаких «может быть» или «наверное», блядь."active": true, "verified": false -
Null. Вот это
null, понимаешь? Значение «ничего нет, ваще нихуя». Не путай с нулём или пустой строкой, это другое."middleName": null -
Массив (Array). Упорядоченный список в квадратных скобках. Можешь туда намешать чего угодно — строки, числа, другие массивы, ёбаный зоопарк.
"tags": ["urgent", "backend"], "matrix": [[1, 0], [0, 1]] -
Объект (Object). А это, сука, главная фишка! Коллекция «ключ-значение» в фигурных скобках. Ключ — ВСЕГДА строка, запомни это, как «Отче наш», блядь.
"address": { "city": "Москва", "street": "Тверская" }
Вот тебе полный пример, чтоб глаза на жопу не съехали:
{
"id": 101,
"username": "dev_user",
"premium": true,
"score": null,
"roles": ["editor", "viewer"],
"settings": {
"theme": "dark",
"notifications": false
}
}
И главное, блядь, не пытайся запихнуть в JSON дату, функцию или комментарии — он этого не переварит! Дату гони как строку в формате ISO, типа "2024-01-15T10:30:00Z", и все будут довольны. Вот и вся философия, в рот меня чих-пых!