Funkcje JSON
PHP Manual

json_decode

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

json_decodeDekoduje łańcuch JSON

Opis

mixed json_decode ( string $json [, bool $asocjacyjnie = false [, int $poziom_zagłębienia = 512 ]] )

Konwertuje łańcuch JSON do zmiennej PHP.

Parametry

json

Dekodowany json string.

asocjacyjnie

Gdy jest ustawiony na TRUE, zwracane obiekty zostaną przekonwertowane do tablic asocjacyjnych.

poziom_zagłębienia

Zwracane wartości

Zwraca obiekt, lub w przypadku gdy opcjonalny parametr asocjacyjnie jest ustawiony na TRUE, zwraca tablicę asocjacyjną.

Przykłady

Przykład #1 Przykład json_decode()

<?php
$json 
'{"a":1,"b":2,"c":3,"d":4,"e":5}';

var_dump(json_decode($json));
var_dump(json_decode($jsontrue));

?>

Powyższy przykład wyświetli:

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)
}

Przykład #2 Inny przykład

<?php

$json 
'{"foo-bar": 12345}';

$obj json_decode($json);
print 
$obj->{'foo-bar'}; // 12345

?>

Przykład #3 common mistakes using json_decode()

<?php

// poniższe łańcucy są prawidłowe w JavaScript, ale nieprawidłowe w JSON

// nazwa i wartość musi być zawarta w podwójny cudzysłów
// pojedyńcze cudzysłowy nie są prawidłowe
$bad_json "{ 'bar': 'baz' }";
json_decode($bad_json); // null

// nazwa musi być zawarta w podwójny cudzysłów
$bad_json '{ bar: "baz" }';
json_decode($bad_json); // null

// przecinki na końcu nie są dozwolone
$bad_json '{ bar: "baz", }';
json_decode($bad_json); // null

?>

Notatki

Informacja: Specyfikacja JSON nie jest taka sama jak w JavaScript, tylko jest podzbiorem JavaScript.

Uwaga

Ta funkcja zwraca FALSE, jeśli poziom zagłębienia danych zakodowanych w formacie JSON jest głębszy niż 127 elementów.

Rejestr zmian

Wersja Opis
5.2.3 Limit zagnieżdżania został zwiększony z 20 do 128

Zobacz też:


Funkcje JSON
PHP Manual