JSON 함수 목록
json_encode
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` string.

`assoc`

  `TRUE`이면, object는 연관 array로 변환됩니다.

`depth`

### 반환값

object를 반환하거나, 선택적인 `assoc` 인수가 `TRUE`이면 연관 array를 반환합니다.

### 예제

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
// 다음 문자열은 유효한 자바스크립트이지만, 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
?>`

### 주의

> Note: JSON 규격은 자바스크립트가 아니고, 자바스크립트의 하위 규격입니다.

Caution

이 함수는 JSON 인코드 데이터가 127 원소보다 깊으면 false를 반환합니다.

### 변경점

버전 | 설명
--- | ---
5.2.3 | 중첩 제한이 20에서 128로 증가

### 참고

- json_encode() - 값의 JSON 표현을 반환

JSON 함수 목록
json_encode
JSON 함수 목록
PHP Manual