PHP и JSON
Что такое JSON?
JSON означает нотацию объектов 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>";
}
?>