CSS властивості
ГлавнаяJSONСинтаксис JSON

Синтаксис JSON

198

JSON зберігає дані в об'єктах та масивах. Синтаксис JSON відображає як вони визначаються.

Об'єкти JSON

Об'єкт JSON — це невпорядкований набір пар ім'я/значення, вставлених між фігурними дужками { }.

У наступному приклад artistname — це ім'я, а Deep Purple — його значення.

<code data-language="javascript">{ "artistname" : "Deep Purple" }

Об'єкт може містити нуль або більше пар ім'я/значення. Декілька пар розділяються комами. Ось коректні об'єкти.

<code data-language="javascript">{ } 
{ "artistname" : "Deep Purple" } 
{ "artistname" : "Deep Purple", "formed" : "1968" } 
{ "artistname" : "Deep Purple", "formed" : "1968", "origin" : "Хертфорд, Великобританія" }

У JSON ім'я — це рядок. Його значенням може бути об'єкт, масив, число, рядок, true, false або null.

У наведених вище прикладах значення є рядками.

Масив JSON

Масив JSON — це впорядкований набір значень, який дозволяє зберігати список значень. Масив починається з лівої квадратної дужки [і завершується правою квадратною дужкою]. Його значення поділяються комою.

Ось приклад масиву виконавців.

<code data-language="javascript">{ "artists" : [ { "artistname" : "Deep Purple", "formed" : "1968" }, { "artistname" : "Joe Satriani", "born" : "1956" }, { "artistname" : "Maroon 5", "formed" : "1994" } 
] }

Пробіли

Ви можете використовувати пробіли, щоб зробити ваші JSON-документи більш читабельними. Фактично це узгоджується з більшістю (якщо не всіма) мовами програмування.

Можна додавати пробіли, табуляцію, перенесення рядків або символів для підвищення читання ваших файлів. Таким чином, можна написати так.

<code data-language="javascript">{ "artists" : [ { "artistname" : "Deep Purple", "formed" : "1968" }, { "artistname" : "Joe Satriani", "born" : "1956" }, { "artistname" : "Maroon 5", "formed" : "1994" } 
] }

Або так.

<code data-language="javascript">{ "artists" : [ { "artistname" : "Deep Purple", "formed" : "1968" }, { "artistname" : "Joe Satriani", "born" : "1956" }, { "artistname" : "Maroon 5", "formed" : "1994" } 
] }

Ці два приклади містять одні й ті самі дані та просте додавання пробілів на дані ніяк не впливає.

Однак, якщо в рядку додати пробіл всередині подвійних лапок , Це змінить дані.

Вкладені дані

Більшість JSON-файлів зберігають багато вкладених даних, що обумовлено їх структурою. Наприклад, у нас може бути масив виконавців, його ім'я — artists, а значення — масив, що містить відомості про різних виконавців. Кожен виконавець може мати свій масив альбомів, кожен з різною парою ім'я/значення.

<code data-language="javascript">{ "artists" : [ { "artistname" : "Deep Purple", "formed" : "1968", "albums" : [ { "albumname" : "Machine Head", "year" : "1972", "genre" : "Рок" }, { "albumname" : "Stormbringer", "year" : "1974", "genre" : "Рок" } 
] } 
] }

Щоб розширити цей приклад, візьмемо трьох виконавців.

<code data-language="javascript">{ " ;artists" : [ { "artistname" : "Deep Purple", "formed" : "1968", "albums" : [ { "albumname" : "Machine Head", "year" : "1972", "genre" : "Рок" }, { "albumname" : "Stormbringer", "year" : "1974", "genre" : "Рок" } 
] }, { "artistname" : "Joe Satriani", "born" : "1956", "albums" : [ { "albumname" : "Flying in a Blue Dream", "year" : "1989", "genre" : "Інструментальний рок" }, { "albumname" : "The Extremist", "year" : "1992", "genre" : "Інструментальний рок" }, { "albumname" : "Shockwave Supernova", "year" : "2015", "genre" : "Інструментальний рок" } 
] }, { "artistname" : "Snoop Dogg", "born" : "1971", "albums" : [ { "albumname" : "Tha Doggfather", "year" : "1996", "genre" : "Гангста-реп" }, { "albumname" : "Snoopified", "year" : "2005", "genre" : "Гангста-реп" } 
] } 
] }