JSON (Java Script Object Notation) – это относительно новый формат представления данных. Он позволяет записать в виде строки любой набор переменных (массивов, объектов), что делает его использование очень удобным в Ajax приложениях. Рассмотрим обычную ситуацию. У нас есть html страница с формой и php скрипт, который обрабатывает данные, введённые в эту форму. Если запрос с данными формы отправляется обычным способом, то скрипт должен возвратить html страницу с результатами. Тут все однозначно. Но, если данные формы отправляются ajax запросом, то скрипт возвращает только результаты обработки, которые с помощью JavaScript вставляются в исходную страницу. Вот тут и возникает вопрос. В каком виде передавать результат?
Существуют два основных варианта. Первый – возвратить результаты обработки вместе с html разметкой. В этом случае, полученный результат просто вставляется в страницу без обработки. Но тут возникает несколько проблем. Во-первых, если вы захотите изменить дизайн страницы, то потребуется менять код в php скрипте.
Во-вторых, если результат обработки должен быть вставлен в несколько различных фрагментов страницы, то придётся либо с помощью JavaScript разбирать полученный от сервера результат, либо передавать ещё и все промежуточные фрагменты. Второй вариант предполагает возврат только результатов обработки (без html разметки). Получив данные, JavaScript функция вставляет их в соответствующие части страницы. На сегодняшний день наиболее распространены два формата передачи результатов ajax запроса: XML и JSON. С моей точки зрения, использование JSON удобнее, главным образом за счёт встроенных в JavaScript и PHP функций, упрощающих работу с этим форматом. Прежде всего, посмотрим, как записываются данные в формате JSON. Допустим, у нас есть объект класса Table.