Функции за JSON
PHP Manual

json_decode

(PHP 5 >= 5.2.0, PECL json >= 1.2.0)

json_decodeДекодира JSON низ

Описание

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 ]] )

Приема низ кодиран в JSON и го преобразува в PHP променлива

Параметри

json

json низът, който ще се декодира.

assoc

Ако е установена стойност TRUE, обектите ще бъдат преобразувани в асоциативни масиви.

depth

Връщани стойности

Връща обект или ако незадължителният параметър 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($jsontrue));

?>

Примерът по-горе ще изведе:

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

Вж. също


Функции за JSON
PHP Manual