(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — Декодира JSON низ
Приема низ кодиран в JSON и го преобразува в PHP променлива
json низът, който ще се декодира.
Ако е установена стойност TRUE, обектите ще бъдат преобразувани в асоциативни масиви.
Връща обект или ако незадължителният параметър assoc е установен в TRUE, връща асоциативен масив.
Example #1 Пример за json_decode()
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
Примерът по-горе ще изведе:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
Example #2 Друг пример
<?php
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>
Example #3 Често срещани грешки при употребата на json_decode()
<?php
// низовете по-долу са валидни JavaScript низовем, но не са валидни JSON-низове
// името и стойността трябва да бъдат заградени с двойни кавички
// единичните кавички не са валидно
$bad_json = "{ 'bar': 'baz' }";
json_decode($bad_json); // null
// името трябва да е заградено с двойни кавички
$bad_json = '{ bar: "baz" }';
json_decode($bad_json); // null
// запетайките в края не са позволени
$bad_json = '{ bar: "baz", }';
json_decode($bad_json); // null
?>
Забележка: Спецификацията на JSON не е спецификация на JavaScript, а подмножество на JavaScript.
Функцията ще върне FALSE, ако данните кодирани в JSON вид са с с вложеност по-голяма от 127 елемента.
Версия | Описание |
---|---|
5.2.3 | Границата на вложеност е увеличена от 20 на 128 |