JSON урок: Научете с прост пример
⚡ Умно обобщение
JSON, съкращение от JavaScript Object Notation е лек, четлив за човек формат за съхранение и обмен на структурирани данни между сървъри и приложения. Този ресурс обяснява неговия синтаксис, типове данни, приложения в реалния свят и разликите, които го отличават от XML.

Какво е JSON?
JSON е файлов формат, използван за съхраняване на информация по организиран и лесен за достъп начин. Пълната му форма е JavaНотация на обект на скрипт. Той предлага колекция от данни, която може да се чете от човека, до която има логичен достъп. Неговото файлово разширение за писмен програмен код е .json. Типът интернет медия за JSON е application/json, а неговият унифициран тип идентификатор е public.json.
След като дефиницията е ясна, следващият раздел обяснява защо разработчиците избират JSON пред други формати на данни.
Защо да използваме JSON?
Ето важните предимства/плюсове от използването на JSON:
- Осигурете поддръжка за всички браузъри
- Лесен за четене и писане
- Ясен синтаксис
- Можете да правите естествен анализ JavaСкрипт, използващ функцията eval().
- Лесен за създаване и манипулиране
- Поддържа се от всички основни JavaСкрипт рамки
- Поддържа се от повечето бекенд технологии
- JSON се разпознава естествено от JavaСценарий
- Това ви позволява 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:
| Тип данни | Descriptйон |
|---|---|
| Телефон за връзка: | Включва реално число, цяло число или плаващо число |
| Низ | Състои се от всеки текст или Unicode в двойни кавички с обратна наклонена черта |
| Булева | Булевият тип данни представлява True или False стойности |
| Null | Стойността Null означава, че свързаната променлива няма никаква стойност |
| Обект | Това е колекция от двойки ключ-стойност и винаги разделени със запетая и оградени във къдрави скоби. |
| Array | Това е подредена последователност от разделени стойности. |
Телефон за връзка:
- Числото е формат с плаваща запетая с двойна точност, който зависи от метода на изпълнение.
- В JSON не можете да използвате шестнадесетични и осмични формати.
Следващата таблица показва типове числа:
| Тип | Descriptйон |
|---|---|
| цяло число | Числа 1-9 и 0. Както положителни, така и отрицателни числа. |
| Фракция | Дроби като 3 |
| експонат | Показател като e, e+ |
Синтаксис:
var json-object-name = { string : number_value,......}
Пример:
var obj = {salary: 2600}
Низ
Това е поредица от двойно кавирани Unicode символи с обратна наклонена черта esc.ping.
Следната таблица показва различни типове низове:
| Тип | Descriptйон |
|---|---|
| * | Използвайте за двойни кавички typing |
| / | Използвайте за солидус |
| \ | Използвайте за обратен солидус |
| B | Използвайте за добавяне на backspace |
| F | От фуража |
| N | За създаване на нов ред |
| R | Използвайте за връщане на каретка |
| T | За показване на хоризонтален раздел |
| U | Шестнадесетични цифри |
Синтаксис:
var json-object-name = { string : "string value",…..}
Пример:
var obj = {name: 'Andy'}
Булева
Той съхранява само истински или неверни стойности.
Синтаксис:
var json-object-name = {string : true/false, …..}
Пример:
var obj = {active: 'true'}
Array
- Това е подредена колекция от стойности.
- Трябва да използвате масив, когато имената на ключовете са последователни цели числа.
- Трябва да бъде ограден в квадратни скоби, които трябва да бъдат разделени с „,“ (запетая)
Синтаксис:
[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Базирани на скрипт приложения, които включват добавки за браузър.
- Уеб услугите и Restful API използват формата 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 Editor Online е полезен уеб базиран инструмент. Позволява ви да редактирате, преглеждате и форматирате JSON. Той показва вашите данни един до друг в ясен, редактируем софтуер за редактиране на кодове.
Връзка: https://jsoneditoronline.org/
JSON Minifier Tool:
Това е инструмент, който ви помага да премахвате белите интервали и дава JSON код, който заема най-малко място.
Връзка: https://www.browserling.com/tools/json-minify
Конвертор от JSON към XML:
Конверторът от JSON към XML е прост и ефективен инструмент, който ви помага да конвертирате вашия JSON код.
Връзка: https://codebeautify.org/jsontoxml
Форматиране на JSON:
Форматирането на JSON ви помага да разрешите проблема, като форматирате JSON данните, така че да са лесни за четене и отстраняване на грешки от човек.
Връзка: https://jsonformatter.curiousconcept.com/
