Підручник з JSON: Навчання на простому прикладі
⚡ Розумний підсумок
JSON, скорочення від JavaНотація скриптових об'єктів – це легкий, зрозумілий для людини формат для зберігання та обміну структурованими даними між серверами та програмами. У цьому ресурсі пояснюється його синтаксис, типи даних, реальні програми та відмінності, що відрізняють його від XML.

Що таке JSON?
JSON це формат файлу, який використовується для зберігання інформації в організованому та легкодоступному вигляді. Його повна форма є JavaНотація об’єкта сценарію. Він пропонує зрозумілий для людини набір даних, до якого можна отримати логічний доступ. Його розширення імені файлу для написаного програмного коду є .json. Тип Інтернет-медіа для JSON – application/json, а його уніфікований ідентифікатор типу – public.json.
Тепер, коли визначення зрозуміле, у наступному розділі пояснюється, чому розробники обирають JSON серед інших форматів даних.
Навіщо використовувати JSON?
Ось важливі переваги/плюси використання JSON:
- Забезпечити підтримку для всіх браузерів
- Легко читати і писати
- Простий синтаксис
- Ви можете нативно аналізувати JavaСценарій із використанням функції eval().
- Легко створювати та маніпулювати
- Підтримується всіма основними JavaФреймворки сценаріїв
- Підтримується більшістю серверних технологій
- JSON розпізнається нативно JavaScript
- Це дозволяє вам transmit та серіалізувати структуровані дані за допомогою мережевого з’єднання.
- Ви можете використовувати його з сучасними мовами програмування.
- JSON — це текст, який можна перетворити на будь-який об’єкт JavaСценарій у JSON і надішліть цей JSON на сервер.
Історія JSON

Ось важливі орієнтири, які формують історію JSON:
- Дуглас Крокфорд визначив формат JSON на початку 2000-х років.
- Офіційний сайт був відкритий у 2002 році.
- У грудні 2005 року Yahoo! починає пропонувати деякі свої веб-сервіси в JSON.
- JSON став міжнародним стандартом ECMA у 2013 році.
- Найновіший стандарт формату JSON був опублікований у 2017 році.
Окрім цих часових рамок, JSON також пропонує набір практичних функцій, які пояснюють його тривалу популярність.
Особливості JSON
Простий у використанні – JSON API пропонує високорівневий фасад, який допомагає вам спростити типові випадки використання.
продуктивність – JSON досить швидкий, оскільки він споживає дуже мало пам’яті, що особливо підходить для великих об’єктних графів або систем.
Безкоштовний інструмент – Бібліотека JSON є відкритою і безкоштовною для використання.
Не потребує створення картиping – Jackson API надає карту за замовчуваннямping для серіалізації багатьох об'єктів.
Чистий JSON – Створює чистий і сумісний результат JSON, який легко читати.
Залежність – Бібліотека JSON не потребує іншої бібліотеки для обробки.
Правила синтаксису JSON
Правила синтаксису JSON:
- Дані мають бути в парах ім’я/значення
- Дані повинні бути розділені комами
- Фігурні дужки повинні містити об’єкти
- Квадратні дужки містять масиви
Типи даних у JSON
Після встановлення синтаксичних правил, у наступній таблиці перелічено важливі типи даних, що використовуються в JSON:
| Тип даних | Опис |
|---|---|
| Номер | Він включає дійсне число, ціле чи число з плаваючою речовиною |
| рядок | Він складається з будь-якого тексту або коду Юнікод у подвійних лапках зі зворотною скісною рискою |
| Boolean | Тип даних Boolean представляє значення True або False |
| Null | Значення Null означає, що пов’язана змінна не має жодного значення |
| Об'єкт | Це набір пар ключ-значення, які завжди розділені комою та взяті у фігурні дужки. |
| масив | Це впорядкована послідовність розділених значень. |
Номер
- Число є форматом подвійної точності з плаваючою комою, який залежить від методу його реалізації.
- У JSON не можна використовувати шістнадцятковий і вісімковий формати.
У наступній таблиці показано типи чисел:
| тип | Опис |
|---|---|
| Ціле число | Числа 1-9 і 0. Як позитивні, так і негативні числа. |
| Фракція | Дроби типу 3 |
| Експонента | Експонента, наприклад e, e+ |
Синтаксис:
var json-object-name = { string : number_value,......}
приклад:
var obj = {salary: 2600}
рядок
Це послідовність символів Unicode, взятих у подвійні лапки, та зворотної скісної риски esc.ping.
У наведеній нижче таблиці показано різні типи рядків:
| тип | Опис |
|---|---|
| * | Використовуйте для подвійних лапок typing |
| / | Використовуйте для солідусу |
| \ | Використовуйте для зворотного солідусу |
| B | Використовуйте для додавання зворотного простору |
| F | З корму |
| N | Щоб створити нову лінію |
| R | Використовуйте для повернення каретки |
| T | Щоб показати горизонтальну вкладку |
| U | Шістнадцяткові цифри |
Синтаксис:
var json-object-name = { string : "string value",…..}
приклад:
var obj = {name: 'Andy'}
Boolean
Він зберігає лише істинні чи хибні значення.
Синтаксис:
var json-object-name = {string : true/false, …..}
приклад:
var obj = {active: 'true'}
масив
- Це впорядкована сукупність значень.
- Ви повинні використовувати масив, якщо імена ключів є послідовними цілими числами.
- Він має бути в квадратних дужках, розділених символом «,» (кома)
Синтаксис:
[value, .......]
приклад:
Показ масиву, що містить кілька об’єктів:
{
"eBooks":[
{
"language":"Pascal",
"edition":"third"
},
{
"language":"Python",
"edition":"four"
},
{
"language":"SQL",
"edition":"second"
}
]
}
Об'єкт JSON
A Об'єкт JSON це об’єкт у JSON, який узятий у фігурні дужки. Він записаний у невпорядкованому наборі пар імен і значень, у яких після імені має стояти «:» (двокрапка), а пари ім’я/значення потрібно розділяти «,» (кома). Його можна використовувати, коли імена ключів є довільними рядками.
Синтаксис:
{ string : value, ….. }
приклад:
{
"id": 110,
"language": "Python",
"price": 1900,
}
Пробіл
Ви можете вставити пробіли між парою токенів.
приклад:
Синтаксис:
{string:" ",….}
приклад:
var a = " Alex"; var b = "Steve";
Приклад JSON
Наведений приклад коду визначає, як використовувати JSON для зберігання інформації, пов’язан��ї з книги з програмування разом із виданням і ім'ям автора.
{
"book":[
{
"id":"444",
"language":"C",
"edition":"First",
"author":"Dennis Ritchie "
},
{
"id":"555",
"language":"C++",
"edition":"second",
"author":" Bjarne Stroustrup "
}
]
}
Розглянемо формат JSON на прикладі іншого файлу JSON. Тут JSON визначає ім’я, прізвище та ідентифікатор студента.
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
Застосування JSON
Ось кілька поширених застосувань JSON:
- Допомагає передавати дані з сервера
- Зразок формату JSON-файлу допомагає в transmit та серіалізувати всі типи структурованих даних.
- Дозволяє виконувати асинхронні виклики даних без необхідності оновлення сторінки
- Допомагає вам transmit дані між сервером та веб-застосунками.
- Він широко використовується для JavaПрограма на основі сценаріїв, яка включає розширення для браузера та веб-сайти.
- Ти можеш transmit дані між сервером та веб-застосунком за допомогою JSON.
- Ми можемо використовувати JSON із сучасними мовами програмування.
- Використовується для письма JavaПрограми на основі сценаріїв, які включають додатки для браузера.
- Веб-служби та API Restful використовують формат JSON для отримання публічних даних.
Оскільки JSON так широко застосовується, його часто порівнюють з XML, форматом, який він часто замінює.
JSON проти XML
Ось основна різниця між JSON і XML
| JSON | XML |
|---|---|
| Об’єкт JSON має тип | XML дані безтипові |
| Типи JSON: рядок, число, масив, логічний | Усі дані XML мають бути рядками |
| Дані легко доступні як об’єкти JSON | Дані XML потрібно проаналізувати. |
| Файли JSON легше читаються людиною. | XML-файли гірше читаються людиною. |
| JSON підтримується більшістю браузерів. | Розбір XML у різних браузерах може бути складним |
| JSON не має можливості відображення. | XML надає можливість відображати дані, оскільки це мова розмітки. |
| Отримати значення легко | Відновити цінність важко |
| Підтримується багатьма наборами інструментів Ajax | Не повністю підтримується набором інструментів Ajax |
| Повністю автоматизований спосіб десеріалізації/серіалізації JavaСценарій. | Писати мають розробники JavaКод сценарію для серіалізації/десеріалізації з XML |
| Рідна підтримка об'єкта. | Об’єкт має бути виражений конвенціями – переважно пропущеним використанням атрибутів і елементів. |
Приклад JSON
Нижче наведено простий приклад JSON:
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
Приклад XML
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
Чим не є JSON?
- Зразок файлу даних JSON не є форматом документа.
- Це не мова розмітки.
- JSON не надає загального формату серіалізації.
- Це не повторювані або циклічні структури.
- Це також не невидима структура.
Недоліки JSON
Ось кілька переваг JSON:
- Немає підтримки простору імен, тому погана розширюваність
- обмеженою інструменти розробки підтримкою
- Немає підтримки формального визначення граматики
Популярні інструменти JSON (додатки)
Ось важливі інструменти JSON:
JSONLint:
JSONLint — це проєкт з відкритим кодом, який використовується як валідатор та переформатувальник для JSON. Це легкий формат обміну даними. Копіюйте та вставляйте, друкуйте безпосередньо або вводьте дані. URL у інструменті валідатора JSON для перевірки вашого JSON-коду.
посилання: https://jsonlint.com
Онлайн-редактор JSON:
Онлайн-редактор JSON — це корисний веб-інструмент. Він дозволяє редагувати, переглядати та форматувати JSON. Він відображає ваші дані пліч-о-пліч у чіткому вигляді, який можна редагувати програмний редактор коду.
посилання: https://jsoneditoronline.org/
Інструмент мініфікації JSON:
Це інструмент, який допомагає видаляти пробіли та дає код JSON, який займає найменше місця.
посилання: https://www.browserling.com/tools/json-minify
Конвертер JSON в XML:
Конвертер JSON в XML – це простий і ефективний інструмент, який допоможе вам конвертувати ваш код JSON.
посилання: https://codebeautify.org/jsontoxml
Форматувальник JSON:
Форматувальник JSON допомагає вирішити проблему, відформатувавши дані JSON так, щоб їх було легко читати та налагоджувати людині.
посилання: https://jsonformatter.curiousconcept.com/
