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