(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — JSON 문자열 디코드
JSON 인코드 문자열을 받아서 PHP 변수로 변환합니다.
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 규격은 자바스크립트가 아니고, 자바스크립트의 하위 규격입니다.
이 함수는 JSON 인코드 데이터가 127 원소보다 깊으면 false를 반환합니다.
버전 | 설명 |
---|---|
5.2.3 | 중첩 제한이 20에서 128로 증가 |