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>";
}
?>
Виконати приклад »