json_decode
- json string을 data로 변환한다. string to object, array.
아래는 json string을 json object와 array로 decode 하는 예제이다.
<?php
$str_json = '{
"name": "muabow",
"url": "https://muabow.tistory.com",
"desc": "한글과 공백"
}';
// string to object
$obj_json = json_decode($str_json);
var_dump($obj_json);
echo $obj_json->name;
// object 변수로 접근
$str_url = "url";
echo $obj_json->$str_url;
// string to array
$arr_json = json_decode($str_json, true);
var_dump($arr_json);
echo $arr_json["name"];
// array 변수로 접근
$str_url = "url";
echo $arr_json[$str_url];
?>
object(stdClass)#1 (3) {
["name"]=>
string(6) "muabow"
["url"]=>
string(26) "https://muabow.tistory.com"
["desc"]=>
string(16) "한글과 공백"
}
muabow
https://muabow.tistory.com
array(3) {
["name"]=>
string(6) "muabow"
["url"]=>
string(26) "https://muabow.tistory.com"
["desc"]=>
string(16) "한글과 공백"
}
muabow
https://muabow.tistory.com
json_decode 포맷
json_decode(
string $json,
?bool $associative = null,
int $depth = 512,
int $flags = 0
): mixed
인자 중 associative(2번째)를 true로 사용하면 string 을 array로 변환한다.
flags는 다음 항목들을 사용할 수 있으며 역시 |를 통해 복수개를 사용 가능하다.
경험적으론 json_decode() 시에는 flag를 사용해본적이 없어서 자세한 설명은 생략한다.
JSON_BIGINT_AS_STRING JSON_INVALID_UTF8_IGNORE JSON_INVALID_UTF8_SUBSTITUTE JSON_OBJECT_AS_ARRAY JSON_THROW_ON_ERROR |
하지만 필요할 수도 있으니 php predefined constatns 페이지를 링크한다.
https://www.php.net/manual/en/json.constants.php
'IT > web' 카테고리의 다른 글
[PHP] php error 메시지 출력 방법 (0) | 2021.12.31 |
---|---|
[PHP] array_walk_recursive와 배열 순회 탐색 소스코드 공유 (0) | 2021.12.28 |
[PHP] json_encode 설명과 예제 (0) | 2021.12.27 |
[PHP] file_exists()에 공백이 포함되었을 때 해결 방안 (0) | 2021.12.27 |
[PHP] shell_exec() 한글이 포함된 svn 이 동작하지 않을 때 해결 방안 (0) | 2021.12.27 |
댓글