update : 2015.11.03
php.shukuma.com

검색:
 
 
JSON 문자열 디코드

json_decode

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

json_decodeJSON 문자열 디코드

설명

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($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

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

참고