Хотите использовать JSON, но не знаете с чего начать?

JSON является частью стандарта ECMAScript начиная с 1999 года, когда ECMA определила функцию eval() воспринимающую формат. Он стал набирать популярность вместе с нарастающим успехом Ajax. Слово JSON часто появляется когда кто-нибудь заводит речь об Ajax. Известно, что JSON является другим форматом данных, что он замещает XML, и что многие программисты активно поддерживают его. Но что такое в действительности JSON и в чем его преимущества?

Почему JSON?
Преимущество JSON заключается в том, что он распознается в JavaScript. Нет необходимости разбирать документ, как это происходит с XML, для передачи данных через интернет.

JSON и XML
Преимущества JSON:

Простой для чтения и понимания.
Простой для использования.
Преимущества XML:

Имеет возможности расширения
И XML и JSON имеют возможность интегрировать большой объем данных в бинарной форме.

Синтаксис JSON
Компоненты JSON:

Объекты: содержат объекты или атрибуты.
Скалярные переменные: число, строка, логическая переменная.
Массив.
Литеральные значения: null, true, false, "строка символов", и числовые значения.
Объект
Содержит элемент или список элементов, где каждый элемент описывается следующим образом:

"имя" : "значение"

Синтаксис объекта:

{ элемент, элемент, .... }

Массив
Набор значений, разделенных запятой.

[ значение, значение, ....]

Значение
Значение может быть: объектом, массивом, литеральным значением (строка, число, true, false, null).

Для создания JSON файла больше ничего не нужно!

Пример JSON файла
Простой пример структура меню. В данном объекте содержатся атрибуты и массив, который включает другие объекты строки меню.

{
  "menu": "Файл",
  "commands": [
      {
          "title": "Новый",
          "action":"CreateDoc"
      },
      {
          "title": "Открыть",
          "action": "OpenDoc"
      },
      {
          "title": "Закрыть",
          "action": "CloseDoc"
      }
   ]
}

Эквивалент на XML:
<?xml version="1.0" ?>
<root>
<menu>Файл</menu>
<commands>
<item>
<title>Новый</value>
<action>CreateDoc</action>
</item>
<item>
<title>Открыть</value>
<action>OpenDoc</action>
</item>
<item>
<title>Закрыть</value>
<action>CloseDoc</action>
</item>
</commands>
</root>

Как использовать формат
Файл JSON позволяет загружать данные с сервера или на сервер. Например, сохранение содержимого формы, которая была только что заполнена пользователем. Процесс включает три фазы: обработку браузером, обработку сервером, и обмен данными между ними.

Клиентская часть (браузер)
Данная часть выполняется достаточно просто, так как JSON является частью определения JavaScript. Содержимое файла или определяющих данных назначается переменным и они становятся объектами программы.

Серверная часть
Файл JSON используется различными программными языками, включая PHP и Java , благодаря наличию парсеров, которые позволяют получать содержимое и даже конвертировать его в классы и атрибуты языка. На сайте JSON можно найти парсеры для многих языков программирования.

Обмен данными
Загрузка файла может быть выполнена в JavaScript несколькими способами:

непосредственное включение файла в HTML страницу как внешний JavaScript файл .js.
загрузка с помощью команды JavaScript.
с использованием XMLHttpRequest.
Файл JSON обрабатывается функцией JavaScript eval(). Отправка файла на сервер может быть выполнена с помощью XMLHttpRequest. Файл отправляется как текстовый и обрабатывается парсером языка программирования, который используется на сервере.

Пример
Код XMLHttpRequest:

var req = new XMLHttpRequest();
req.open("GET", "file.json", true);
req.onreadystatechange = myCode;   // обработчик
req.send(null);
Обработчик JavaScript:

function myCode()
{
   if (req.readyState == 4)
   {
        var doc = eval('(' + req.responseText + ')');
   }
}

Использование данных:
var menuName = document.getElementById('jsmenu');   // ищем поле
menuName.value = doc.menu.value;           // назначаем значение полю

Как получать данные:
doc.commands[0].title      // читаем значение поля "title" в массиве
doc.commands[0].action     // читаем значение поля "action" в массиве

Теги:
JSON
Добавлено: 16 Апреля 2018 21:04:19 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...