JSON

JSON поддерживает все основные форматы данных: строки, числа, булевые значения, а так же массивы и объекты (комбинации ключ: значение, разделенные запятыми и заключённые в фигурные скобки).


{"id":"1","name":"Alexander","country":"Russia","office":["sirius","development"]}

Сотрудник с именем «Alexander» под идентификатором «1» проживает в стране «Russia» и работает в компании «sirius» в отделе «development».

Пример ответа об ошибке в формате JSON:


{"error":"1","errorcode":["empty_pers","empty_mail","empty_phone","empty_letter","empty_scode"]}

Что, к примеру, означает:

  • Необходимо заполнить поле «Контактное лицо»
  • Необходимо заполнить поле «E-mail»
  • Необходимо заполнить поле «Телефон»
  • Введите текст сообщения
  • Необходимо заполнить поле «Число на картинке»

В случае, если ошибок нет, то возвращается ответ:


{"error":"0"}

В PHP, для представления данных в формате JSON служит расширение JSON extension. В версиях PHP старше 5.2.0 поддержка JSON встроена в ядро. За работу с данными в формате JSON отвечают две функции: json_encode() и json_decode().

Конвертация данных в формат JSON


$json_data = array ('id'=>1,'name'=>"Alexander",'country'=>'Russia',"office"=>array("sirius","development")); 
echo json_encode($json_data);

Ниже результат выполнения кода.

{"id":1,"name":"Alexander","country":"Russia","office":["sirius","development"]}

Обратное преобразование данных из формата JSON


$json_string = '{"id":1,"name":"Alexander","country":"Russia","office":["sirius","development"]} '; 
$obj = json_decode($json_string);

Теперь в $obj будут содержаться JSON-данные, переведенные в PHP-объект, доступ к которым вы сможете получить следующим образом:


echo $obj->name; //Отобразит имя Alexander
echo "
"; echo $obj->office[0]; //Отобразит компанию sirius

Ниже результат выполнения кода.

Alexander
sirius

Как видите, $obj->office является массивом.


foreach($obj->office as $val) 
{
    echo $val;
}

Результат выполнения кода.

sirius:development:
Реклама