PHP и JSON
Что такое JSON?
JSON означает JavaScript Object Notation (обозначение объектов JavaScript) и является синтаксисом для хранения и обмена данными.
Поскольку формат JSON представляет собой текстовый формат, его можно легко отправлять на сервер и с сервера и использовать в качестве формата данных на любом языке программирования.
PHP и JSON
PHP имеет несколько встроенных функций для обработки JSON.
Сначала мы рассмотрим следующие две функции:
- json_encode()
- json_decode()
PHP - json_encode()
Функция json_encode() используется для кодирования значения в формате JSON.
Пример
В этом примере показано, как кодировать ассоциативный массив в объект JSON:
<?php
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
echo json_encode($age);
?>
Запустить пример »
Пример
В этом примере показано, как кодировать индексированный массив в массив JSON:
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo json_encode($cars);
?>
Запустить пример »
PHP - json_decode()
Функция json_decode() используется для декодирования объекта JSON в объект PHP или ассоциативный массив.
Пример
Этот пример декодирует данные JSON в объект PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj));
?>
Запустить пример »
Функция json_decode() возвращает объект по умолчанию. Функция json_decode() имеет второй параметр, и при значении true объекты JSON декодируются в ассоциативные массивы.
Пример
Этот пример декодирует данные JSON в ассоциативный массив PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
var_dump(json_decode($jsonobj,
true));
?>
Запустить пример »
PHP - Доступ к декодированным значениям
Вот два примера того, как получить доступ к декодированным значениям из объекта и из ассоциативного массива:
Пример
В этом примере показано, как получить доступ к значениям из объекта PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
echo $obj->Peter;
echo $obj->Ben;
echo $obj->Joe;
?>
Запустить пример »
Пример
В этом примере показано, как получить доступ к значениям из ассоциативного массива PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
echo $arr["Peter"];
echo $arr["Ben"];
echo $arr["Joe"];
?>
Запустить пример »
PHP - Перебирание значений
Вы также можете перебирать значения с помощью цикла foreach():
Пример
В этом примере показано, как перебрать значения объекта PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$obj = json_decode($jsonobj);
foreach($obj
as $key => $value) {
echo $key . " => " . $value . "<br>";
}
?>
Запустить пример »
Пример
В этом примере показано, как перебрать значения ассоциативного массива PHP:
<?php
$jsonobj = '{"Peter":35,"Ben":37,"Joe":43}';
$arr = json_decode($jsonobj, true);
foreach($arr as $key => $value) {
echo $key . " => " . $value
. "<br>";
}
?>
Запустить пример »