JSON Functions
json_encode
JSON Functions
PHP Manual

# json_decode

(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)

json_decode — Decodes a JSON string

### Description

mixed json_decode ( string `$json` [, bool `$assoc` ] )

Takes a JSON encoded string and converts it into a PHP variable.

### Parameters

`json`

  The `json` string being decoded.

`assoc`

  When `TRUE`, returned objects will be converted into associative arrays.

### Return Values

Returns an object or if the optional `assoc` parameter is `TRUE`, an associative array is instead returned.

### Examples

Example#1 json_decode() examples

`<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>`

The above example will output:

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

`<?php
$json = '{"foo-bar": 12345}';
$obj = json_decode($json);
print $obj->{'foo-bar'}; // 12345
?>`

### Notes

Caution

This function will return false if the JSON encoded data is deeper than 127 elements.

### ChangeLog

Version | Description
--- | ---
5.2.3 | The nesting limit was increased from 20 to 128

### See Also

- json_encode()

JSON Functions
json_encode
JSON Functions
PHP Manual