HTML Diff
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