0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Определение</a></li>
1
<ul><li><a>Определение</a></li>
2
<li><a>Области применения</a><ul><li><a>Примеры использования</a></li>
2
<li><a>Области применения</a><ul><li><a>Примеры использования</a></li>
3
</ul></li>
3
</ul></li>
4
<li><a>Синтаксическая форма</a><ul><li><a>Подробнее о значениях</a></li>
4
<li><a>Синтаксическая форма</a><ul><li><a>Подробнее о значениях</a></li>
5
</ul></li>
5
</ul></li>
6
<li><a>Преимущества</a></li>
6
<li><a>Преимущества</a></li>
7
<li><a>Как открыть</a></li>
7
<li><a>Как открыть</a></li>
8
<li><a>Как создать</a><ul><li><a>Примеры</a></li>
8
<li><a>Как создать</a><ul><li><a>Примеры</a></li>
9
</ul></li>
9
</ul></li>
10
</ul><p>Данные - основной элемент при работе с IT. Каждый администратор и программист должен грамотно обрабатывать цифровую информацию. Это же относится к приложениям. Необходимо научиться грамотно переводить заполненные данными структуры на любом языке в форматы, распознаваемые другими платформами и языками. Для этого используются различные компоненты обмена данными. Пример - JSON.</p>
10
</ul><p>Данные - основной элемент при работе с IT. Каждый администратор и программист должен грамотно обрабатывать цифровую информацию. Это же относится к приложениям. Необходимо научиться грамотно переводить заполненные данными структуры на любом языке в форматы, распознаваемые другими платформами и языками. Для этого используются различные компоненты обмена данными. Пример - JSON.</p>
11
<p>Далее предстоит познакомиться с объектами JSON более подробно. Нужно выяснить, что они собой представляют, как реализовываются, для чего используются в том или ином случае. А еще - изучить их преимущества и недостатки. Соответствующая информация пригодится как опытным специалистам, так и новичкам.</p>
11
<p>Далее предстоит познакомиться с объектами JSON более подробно. Нужно выяснить, что они собой представляют, как реализовываются, для чего используются в том или ином случае. А еще - изучить их преимущества и недостатки. Соответствующая информация пригодится как опытным специалистам, так и новичкам.</p>
12
<h2>Определение</h2>
12
<h2>Определение</h2>
13
<p>Данные JSON (или JavaScript-Object-Notation) - это специальный текстовый формат обмена данными. Он базируется на JavaScript. Такой формат с легкостью распознается человеком, как и другие текстовые форматы.</p>
13
<p>Данные JSON (или JavaScript-Object-Notation) - это специальный текстовый формат обмена данными. Он базируется на JavaScript. Такой формат с легкостью распознается человеком, как и другие текстовые форматы.</p>
14
<p>Появился JSON благодаря Дугласу Крокфорду. Несмотря на то, что формат произошел от JavaScript (подмножества языка стандарта ECMA-262 от 1999 года), JSON выступает в качестве независимого элемента. Он может использоваться большинством языков разработки. Для некоторых из них поддерживаются готовые блоки кода для создания и обработки информации JSON.</p>
14
<p>Появился JSON благодаря Дугласу Крокфорду. Несмотря на то, что формат произошел от JavaScript (подмножества языка стандарта ECMA-262 от 1999 года), JSON выступает в качестве независимого элемента. Он может использоваться большинством языков разработки. Для некоторых из них поддерживаются готовые блоки кода для создания и обработки информации JSON.</p>
15
<p>JavaScript Object Notation - формат, который представляет собой набор пар "ключ-значение". В качестве ключа используется строка (всегда). Значением выступает один из следующих типов:</p>
15
<p>JavaScript Object Notation - формат, который представляет собой набор пар "ключ-значение". В качестве ключа используется строка (всегда). Значением выступает один из следующих типов:</p>
16
<ul><li>объект;</li>
16
<ul><li>объект;</li>
17
<li>массив;</li>
17
<li>массив;</li>
18
<li>логическое значение;</li>
18
<li>логическое значение;</li>
19
<li>строка;</li>
19
<li>строка;</li>
20
<li>число;</li>
20
<li>число;</li>
21
<li>нулевое значение (null).</li>
21
<li>нулевое значение (null).</li>
22
</ul><p>При составлении формата JSON необходимо запомнить несколько правил. Пример - ключи будут прописываться в двойных кавычках, а значение от key отделяется двоеточием. Допускается использование нескольких пар "ключ-значение". При подобных обстоятельствах каждая пара должна отделяться запятой.</p>
22
</ul><p>При составлении формата JSON необходимо запомнить несколько правил. Пример - ключи будут прописываться в двойных кавычках, а значение от key отделяется двоеточием. Допускается использование нескольких пар "ключ-значение". При подобных обстоятельствах каждая пара должна отделяться запятой.</p>
23
<p>Также необходимо помнить, что в данных JSON нельзя использовать комментарии. Это ограничение можно обойти, но делать так не рекомендуется.</p>
23
<p>Также необходимо помнить, что в данных JSON нельзя использовать комментарии. Это ограничение можно обойти, но делать так не рекомендуется.</p>
24
<h2>Области применения</h2>
24
<h2>Области применения</h2>
25
<p>Структура данных Джейсон более лаконична, чем XML. За счет этого рассматриваемый вариант представления информации служит более подходящим при сериализации сложных структур. Используется в веб-программировании для обмена данными между серверами (AJAX) и браузерами, а также между программными HTTP-сопряжениями.</p>
25
<p>Структура данных Джейсон более лаконична, чем XML. За счет этого рассматриваемый вариант представления информации служит более подходящим при сериализации сложных структур. Используется в веб-программировании для обмена данными между серверами (AJAX) и браузерами, а также между программными HTTP-сопряжениями.</p>
26
<p>Формат JSON - подмножество синтаксиса языка JavaScript. Его можно использовать при разработке на соответствующем ЯП за счет десериализации. За нее отвечает функция JSON.parse().</p>
26
<p>Формат JSON - подмножество синтаксиса языка JavaScript. Его можно использовать при разработке на соответствующем ЯП за счет десериализации. За нее отвечает функция JSON.parse().</p>
27
<h3>Примеры использования</h3>
27
<h3>Примеры использования</h3>
28
<p>Данные JSON чаще всего используются для пересылки информации от серверов к браузерам. Обычно они доставляются через AJAX, который дает возможность обмениваться данными браузеру и серверу. Перезагрузка страницы для этого не потребуется ни при каких обстоятельствах.</p>
28
<p>Данные JSON чаще всего используются для пересылки информации от серверов к браузерам. Обычно они доставляются через AJAX, который дает возможность обмениваться данными браузеру и серверу. Перезагрузка страницы для этого не потребуется ни при каких обстоятельствах.</p>
29
<p>Примеры использования данных JSON:</p>
29
<p>Примеры использования данных JSON:</p>
30
<ol><li>Пользователь нажимает на кнопку с миниатюрой продукта в интернет-магазине.</li>
30
<ol><li>Пользователь нажимает на кнопку с миниатюрой продукта в интернет-магазине.</li>
31
<li>JavaScript, который ранее выполнялся в браузере, генерирует AJAX-запрос к PHP-скрипту, который был запущен на сервере. В итоге передается ID выбранного продукта.</li>
31
<li>JavaScript, который ранее выполнялся в браузере, генерирует AJAX-запрос к PHP-скрипту, который был запущен на сервере. В итоге передается ID выбранного продукта.</li>
32
<li>PHP-скрипт получает название продукта, его стоимость, описание и иные сведения из базы данных. Далее составляет строку формата JSON и отсылает ее браузеру.</li>
32
<li>PHP-скрипт получает название продукта, его стоимость, описание и иные сведения из базы данных. Далее составляет строку формата JSON и отсылает ее браузеру.</li>
33
<li>JavaScript, который ранее выполнялся в браузере, получает строку данных, декодирует ее и выводит информацию о продукте на пользовательской странице.</li>
33
<li>JavaScript, который ранее выполнялся в браузере, получает строку данных, декодирует ее и выводит информацию о продукте на пользовательской странице.</li>
34
</ol><p>Объекты JSON можно использовать также для отправки информации от браузера на сервер. Для этого соответствующий элемент передается в виде параметра запросов GET или POST. Соответствующий прием имеет меньшее распространение. Это связано с тем, что за счет AJAX-запросов работа с JSON-объектами может быть значительно упрощена. Пример - ID продукта может быть включен в URL-адрес как часть GET-запроса.</p>
34
</ol><p>Объекты JSON можно использовать также для отправки информации от браузера на сервер. Для этого соответствующий элемент передается в виде параметра запросов GET или POST. Соответствующий прием имеет меньшее распространение. Это связано с тем, что за счет AJAX-запросов работа с JSON-объектами может быть значительно упрощена. Пример - ID продукта может быть включен в URL-адрес как часть GET-запроса.</p>
35
<p>В библиотеке jQuery имеются несколько методов, упрощающих получение данных через JSON и AJAX. Примеры - getJSON или parseJSON.</p>
35
<p>В библиотеке jQuery имеются несколько методов, упрощающих получение данных через JSON и AJAX. Примеры - getJSON или parseJSON.</p>
36
<h2>Синтаксическая форма</h2>
36
<h2>Синтаксическая форма</h2>
37
<p>Текст JSON в закодированной форме может иметь два синтаксиса:</p>
37
<p>Текст JSON в закодированной форме может иметь два синтаксиса:</p>
38
<ol><li>Набор пар "ключ: значение". Реализован такой синтаксис у большинства языков в виде записей, структур, словарей, хеш-таблиц, списков с ключами и ассоциативными массивами. Ключом может выступать только строка (регистрозависимость не установлена стандартом, этот вопрос остается на усмотрение отдельно взятого программного обеспечения), значением - любая форма. Обычно регистр в строках учитывается приложениями. Имена с буквами в разных регистрах рассматриваются как разные элементы. "Названия" у данных JSON повторяться могут, но задействованный стандарт рекомендует избегать соответствующих ситуаций. Обработка ключей с одинаковыми именами будет осуществляться за счет особенностей функционирования используемой программы. Примеры - учитывать только первый ключ, принимать во внимание только последний ключ, выдать сообщение об ошибке.</li>
38
<ol><li>Набор пар "ключ: значение". Реализован такой синтаксис у большинства языков в виде записей, структур, словарей, хеш-таблиц, списков с ключами и ассоциативными массивами. Ключом может выступать только строка (регистрозависимость не установлена стандартом, этот вопрос остается на усмотрение отдельно взятого программного обеспечения), значением - любая форма. Обычно регистр в строках учитывается приложениями. Имена с буквами в разных регистрах рассматриваются как разные элементы. "Названия" у данных JSON повторяться могут, но задействованный стандарт рекомендует избегать соответствующих ситуаций. Обработка ключей с одинаковыми именами будет осуществляться за счет особенностей функционирования используемой программы. Примеры - учитывать только первый ключ, принимать во внимание только последний ключ, выдать сообщение об ошибке.</li>
39
<li>Упорядоченный набор значений. В большинстве языков им выступают вектор, список, последовательность или массив.</li>
39
<li>Упорядоченный набор значений. В большинстве языков им выступают вектор, список, последовательность или массив.</li>
40
</ol><p>Структуры данных формата JSON поддерживаются любым современным языком разработки. Это позволяет использовать рассматриваемый элемент для обмена данными между различными ЯП и программными системами.</p>
40
</ol><p>Структуры данных формата JSON поддерживаются любым современным языком разработки. Это позволяет использовать рассматриваемый элемент для обмена данными между различными ЯП и программными системами.</p>
41
<h3>Подробнее о значениях</h3>
41
<h3>Подробнее о значениях</h3>
42
<p>Какие структуры могут выступать в виде значений объектов JSON, понятно. Вот более подробная информация о каждом из них:</p>
42
<p>Какие структуры могут выступать в виде значений объектов JSON, понятно. Вот более подробная информация о каждом из них:</p>
43
<ol><li>Запись. Представляет собой неупорядоченное множество пар "ключ: значение", которое заключается предварительно в фигурные скобки. Ключи описываются строками, между ними и значением ставится двоеточие. Пары "ключ-значение" будут отделяться друг от друга запятыми.</li>
43
<ol><li>Запись. Представляет собой неупорядоченное множество пар "ключ: значение", которое заключается предварительно в фигурные скобки. Ключи описываются строками, между ними и значением ставится двоеточие. Пары "ключ-значение" будут отделяться друг от друга запятыми.</li>
44
<li>Массив одномерный. Является упорядоченным множеством значений. Массив пишется в квадратных скобках, а его значения отделяются друг от друга запятыми. Соответствующий элемент может быть пустым - не включать в свой состав ни единого значения. В пределах одного массива значения бывают самых разных типов.</li>
44
<li>Массив одномерный. Является упорядоченным множеством значений. Массив пишется в квадратных скобках, а его значения отделяются друг от друга запятыми. Соответствующий элемент может быть пустым - не включать в свой состав ни единого значения. В пределах одного массива значения бывают самых разных типов.</li>
45
<li>Число. Тип данных, который может представлять целое или вещественное значение.</li>
45
<li>Число. Тип данных, который может представлять целое или вещественное значение.</li>
46
<li>Литералы: true/false (логическая истина/ложь) или null.</li>
46
<li>Литералы: true/false (логическая истина/ложь) или null.</li>
47
<li>Строка. Так называется упорядоченное множество из нуля или некоторого количества символов в Unicode, которое заключается в двойные кавычки. Символы здесь могут быть указаны посредством escape-последовательностей, начинающихся с обратного слеша ("\"). Они также записываются шестнадцатеричным кодом в кодировке Unicode в виде \uFFF.</li>
47
<li>Строка. Так называется упорядоченное множество из нуля или некоторого количества символов в Unicode, которое заключается в двойные кавычки. Символы здесь могут быть указаны посредством escape-последовательностей, начинающихся с обратного слеша ("\"). Они также записываются шестнадцатеричным кодом в кодировке Unicode в виде \uFFF.</li>
48
</ol><p>Строки напоминают литералы одноименного типа данных в JavaScript, а число - JavaScript-число, за исключением того, что применяется только десятичный формат. В качестве разделителя в соответствующем случае выступит точка. Пробелы могут быть вставлены между любыми двумя синтаксическими элементами.</p>
48
</ol><p>Строки напоминают литералы одноименного типа данных в JavaScript, а число - JavaScript-число, за исключением того, что применяется только десятичный формат. В качестве разделителя в соответствующем случае выступит точка. Пробелы могут быть вставлены между любыми двумя синтаксическими элементами.</p>
49
<h2>Преимущества</h2>
49
<h2>Преимущества</h2>
50
<p>Объекты JSON используются для информационного обмена со структурированной информацией. Они хранятся в отдельном файле или строке кода.</p>
50
<p>Объекты JSON используются для информационного обмена со структурированной информацией. Они хранятся в отдельном файле или строке кода.</p>
51
<p>У рассматриваемого формата имеется ряд преимуществ. К ним относят следующие особенности:</p>
51
<p>У рассматриваемого формата имеется ряд преимуществ. К ним относят следующие особенности:</p>
52
<ol><li>Компактное хранение. Объекты JSON занимаются немного места на устройстве и быстро компилируются.</li>
52
<ol><li>Компактное хранение. Объекты JSON занимаются немного места на устройстве и быстро компилируются.</li>
53
<li>Понятная процедура создания. Сюда же относится элементарная реализация и легкое чтение. Работать с данными типа JSON сможет даже начинающий программист. Чтение таких документов может осуществляться человеком за счет простейшей формы представления данных.</li>
53
<li>Понятная процедура создания. Сюда же относится элементарная реализация и легкое чтение. Работать с данными типа JSON сможет даже начинающий программист. Чтение таких документов может осуществляться человеком за счет простейшей формы представления данных.</li>
54
<li>Возможность преобразования для считывания на самых разных языках разработки. Почти все современные ЯП умеют работать с JSON Data.</li>
54
<li>Возможность преобразования для считывания на самых разных языках разработки. Почти все современные ЯП умеют работать с JSON Data.</li>
55
</ol><p>Также преимуществом можно назвать и то, что у практически всех языков имеются библиотеки и иные инструменты, позволяющие считывать и обрабатывать рассматриваемый формат.</p>
55
</ol><p>Также преимуществом можно назвать и то, что у практически всех языков имеются библиотеки и иные инструменты, позволяющие считывать и обрабатывать рассматриваемый формат.</p>
56
<h2>Как открыть</h2>
56
<h2>Как открыть</h2>
57
<p>Расширение JSON может быть с легкостью открыто на компьютере любым пользователем. Для этого допустимо задействовать любой редактор текста. Самый простой вариант - использовать "Блокнот" от Windows. По умолчанию файлы JSON будут отображаться как документы с невыбранной программой открытия. При попытке его активации система предложит указать, с каким ПО работать далее. Среди доступных вариантов нужно выбрать "Блокнот".</p>
57
<p>Расширение JSON может быть с легкостью открыто на компьютере любым пользователем. Для этого допустимо задействовать любой редактор текста. Самый простой вариант - использовать "Блокнот" от Windows. По умолчанию файлы JSON будут отображаться как документы с невыбранной программой открытия. При попытке его активации система предложит указать, с каким ПО работать далее. Среди доступных вариантов нужно выбрать "Блокнот".</p>
58
<p>Также можно задействовать известный текстовый редактор с поддержкой синтаксиса разных языков программирования - Notepad++. Он прекрасно подходит для работы с JSON-объектами.</p>
58
<p>Также можно задействовать известный текстовый редактор с поддержкой синтаксиса разных языков программирования - Notepad++. Он прекрасно подходит для работы с JSON-объектами.</p>
59
<h2>Как создать</h2>
59
<h2>Как создать</h2>
60
<p>Для создания документа рассматриваемого формата, можно также использовать любой текстовый редактор. Пример - "Блокнот".</p>
60
<p>Для создания документа рассматриваемого формата, можно также использовать любой текстовый редактор. Пример - "Блокнот".</p>
61
<p>При сохранении объекта JSON необходимо выбрать тип документа "Все…". Далее - самостоятельно задать рассматриваемый формат. После сохранения текстовый документ будет обрабатываться соответствующим образом.</p>
61
<p>При сохранении объекта JSON необходимо выбрать тип документа "Все…". Далее - самостоятельно задать рассматриваемый формат. После сохранения текстовый документ будет обрабатываться соответствующим образом.</p>
62
<h3>Примеры</h3>
62
<h3>Примеры</h3>
63
<p>Для чего нужен JSON, понятно. И как создать его вручную - тоже. Теперь можно изучить несколько примеров формата JSON. Вот первый вариант. Он позволяет создавать документ employee.json с атрибутами сотрудников. Здесь используется синтаксис "ключ:значение":</p>
63
<p>Для чего нужен JSON, понятно. И как создать его вручную - тоже. Теперь можно изучить несколько примеров формата JSON. Вот первый вариант. Он позволяет создавать документ employee.json с атрибутами сотрудников. Здесь используется синтаксис "ключ:значение":</p>
64
<p>Здесь:</p>
64
<p>Здесь:</p>
65
<ol><li>Name - имя сотрудника. Представляется строкой.</li>
65
<ol><li>Name - имя сотрудника. Представляется строкой.</li>
66
<li>Id - идентификатор подчиненного. Он тоже представлен в виде строки.</li>
66
<li>Id - идентификатор подчиненного. Он тоже представлен в виде строки.</li>
67
<li>Role - роли, которые выполняются каждым человеком. Их может быть несколько, поэтому соответствующую структуру лучше представлять в виде массива.</li>
67
<li>Role - роли, которые выполняются каждым человеком. Их может быть несколько, поэтому соответствующую структуру лучше представлять в виде массива.</li>
68
<li>Age - возраст. Представляет собой число.</li>
68
<li>Age - возраст. Представляет собой число.</li>
69
<li>Doj - дата трудоустройства человека. Добавляется в двойных кавычках и обрабатывается как строка.</li>
69
<li>Doj - дата трудоустройства человека. Добавляется в двойных кавычках и обрабатывается как строка.</li>
70
<li>Married - семейное положение. Указывает, женат ли сотрудник. В качестве ответа да/нет используется логический формат.</li>
70
<li>Married - семейное положение. Указывает, женат ли сотрудник. В качестве ответа да/нет используется логический формат.</li>
71
<li>Address - адрес места жительства человека. Это объект с парами "ключ-значение".</li>
71
<li>Address - адрес места жительства человека. Это объект с парами "ключ-значение".</li>
72
<li>Referred-by - идентификатор сотрудника, который порекомендовал этого человека в компанию. Если рекомендации отсутствуют, поле будет представлено null.</li>
72
<li>Referred-by - идентификатор сотрудника, который порекомендовал этого человека в компанию. Если рекомендации отсутствуют, поле будет представлено null.</li>
73
</ol><p>Теперь необходимо создать набор данных JSON. Если о разных сотрудниках добавляются несколько записей, необходимо записать их в квадратных скобках:</p>
73
</ol><p>Теперь необходимо создать набор данных JSON. Если о разных сотрудниках добавляются несколько записей, необходимо записать их в квадратных скобках:</p>
74
<p>Необходимо обратить внимание на referred-by для Боба Вашингтона. Оно будет пустым. Это значит, что человек пришел в компанию без рекомендаций.</p>
74
<p>Необходимо обратить внимание на referred-by для Боба Вашингтона. Оно будет пустым. Это значит, что человек пришел в компанию без рекомендаций.</p>
75
<p>Теперь понятно, что собой представляет файл JSON, а также для каких целей он предназначается. Джейсон позволяет обрабатывать информацию и обмениваться ей в клиент-серверных моделях, он создается и корректируется. Лучше разобраться с ним помогут компьютерные дистанционные курсы. На них программистов среди всего прочего научат работать с данными JSON на выбранном языке.</p>
75
<p>Теперь понятно, что собой представляет файл JSON, а также для каких целей он предназначается. Джейсон позволяет обрабатывать информацию и обмениваться ей в клиент-серверных моделях, он создается и корректируется. Лучше разобраться с ним помогут компьютерные дистанционные курсы. На них программистов среди всего прочего научат работать с данными JSON на выбранном языке.</p>
76
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
76
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em></p>
77
77