1.1 Поява JSON
JSON (JavaScript Object Notation) — це текстовий формат, який використовується для обміну даними. Його було розроблено на початку 2000-х років Дугласом Крокфордом і він став популярним завдяки своїй простоті і легкості використання.
Основна ідея JSON полягає в створенні формату, що легко читається людиною і при цьому простий для парсингу та генерації програмами. JSON спочатку розроблявся на основі синтаксису JavaScript, але його формат виявився настільки універсальним, що він став використовуватись і підтримуватись багатьма іншими мовами програмування. Тепер JSON можна використовувати незалежно від JavaScript: він став стандартом для обміну даними у різних системах та додатках, незалежно від мови програмування, на якій вони написані.
JSON — це фактично запис стану об'єкта мовою JavaScript. Ну, майже. Ось чому JSON особливо популярний серед тих, хто пише API для фронтенду. Крім того, JSON широко використовується для зберігання конфігураційних файлів і логів.
Основні характеристики JSON
Людинозрозумілість:
Формат JSON легко читати і розуміти людині. Це робить його зручним для використання в конфігураційних файлах та для обміну даними між клієнтом і сервером.
Мовна незалежність:
Хоча JSON спочатку базується на синтаксисі JavaScript, він може використовуватись з будь-якою мовою програмування. Багато мов програмування надають вбудовані бібліотеки для роботи з JSON.
Легкість парсингу:
Парсинг (від англ. "parsing") — це процес розбору та аналізу структури даних, зазвичай тексту або коду, для виокремлення значущої інформації. У контексті програмування парсинг часто застосовується для обробки текстових даних. JSON можна легко парсити і генерувати як на клієнтській, так і на серверній стороні. Зараз у кожній мові програмування існує бібліотека, яка дозволяє легко перетворити об'єкт у JSON і назад.
Стандарт і явний лідер:
Ще 10 років тому JSON змагався з XML як стандарт API. Зараз JSON переміг і є явним лідером. У API вашого бекенду ви можете підтримувати тільки JSON, і цього буде достатньо, навіть якщо ваш API призначений для виклику іншими серверами.
1.2 Структура JSON
JSON представляє собою набір пар "ключ-значення", і його синтаксис складається з двох основних структур:
Об'єкти: Об'єкти являють собою неупорядковані набори пар "ключ-значення". Ключі — це рядки, а значення можуть бути будь-якого типу даних, підтримуваного JSON.
{
"name": "John",
"age": 30,
"isStudent": false,
"courses": ["Math", "Science"],
"address": {
"city": "New York",
"zipCode": "10001"
}
}
Масиви/Списки: Масиви представляють собою упорядковані набори значень (схожі на списки в Python). Значення можуть бути будь-якого типу даних, підтримуваного JSON.
["Apple", "Banana", "Cherry", 100, 3.14, true]
Дуже схоже на об'єкти Python, чи не так?
Вся справа в тому, що JSON — це фактично стандарт запису даних в JavaScript, а JavaScript свого часу був натхненний Python. Тож використовувати JSON вам сподобається.
1.3 Типи даних в JSON
JSON підтримує такі типи даних:
Рядки: представляються у подвійних лапках.
"name": "John"
Числа: можуть бути цілими або з плаваючою крапкою.
"age": 30
Об'єкти: Неупорядковані набори пар "ключ-значення".
"address": {
"city": "New York",
"zipCode": "10001"
}
Масиви/Списки: Упорядковані набори значень.
"courses": ["Math", "Science"]
Булеві значення: true або false.
"isStudent": false
На відміну від Python, true і false тут пишуться з маленької літери.
null
: Представляє пусте значення.
"middleName": null
Дата і час: передаються як рядок.
{
"datetime": "2023-05-15T14:30:00Z",
"date": "2023-05-15",
"time": "14:30:00"
}
Раніше їх інколи передавали як число у форматі UNIX timestamp, але цей підхід відійшов у минуле.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ