php 에서 JSON 데이터 형식을 다루는 방법을 알아본다.
<?php
$data = array(
'key1' => `value1`,
'key2' => 2,
'key3' => array(
'name' => 'yse',
'age' => 105
)
);
$json_data = json_encode($data);
$decode_object = json_decode($json_data);
$decode_array = json_decode($json_data, true);
var_dump($data);
echo "<br /><br />";
var_dump($json_data);
echo "<br /><br />";
var_dump($decode_object);
echo "<br /><br />";
var_dump($decode_array);
echo "<br /><br />";
위 코드를 json.php 파일에 저장하고 브라우저에서 결과를 확인한다.
array(3) { ["key1"]=> NULL ["key2"]=> int(2) ["key3"]=> array(2) { ["name"]=> string(3) "yse" ["age"]=> int(105) } }
string(54) "{"key1":null,"key2":2,"key3":{"name":"yse","age":105}}"
object(stdClass)#1 (3) { ["key1"]=> NULL ["key2"]=> int(2) ["key3"]=> object(stdClass)#2 (2) { ["name"]=> string(3) "yse" ["age"]=> int(105) } }
array(3) { ["key1"]=> NULL ["key2"]=> int(2) ["key3"]=> array(2) { ["name"]=> string(3) "yse" ["age"]=> int(105) } }
JSON 은 JavaScript Object Notation 의 약자로 자바스크립트 타입 형식을 말한다. 주로 브라우저와 ajax 통신을 하거나 REST 방식으로 다른 서버와 연동할 때 데이터 형식으로 사용된다.
json_encode 함수는 PHP 데이터 타입을 JSON 문자열로 바꾼다.
$json_data = json_encode($data);
string(54) "{"key1":null,"key2":2,"key3":{"name":"yse","age":105}}"
json_decode 함수는 JSON 문자열을 PHP 의 객체 형식으로 바꾼다.
json_decode($json_data)
Copyobject(stdClass)#1 (3) { ["key1"]=> NULL ["key2"]=> int(2) ["key3"]=> object(stdClass)#2 (2) { ["name"]=> string(3) "yse" ["age"]=> int(105) } }
json_decode 함수에서 2번째 파라미터에 true 를 전달하면 PHP의 객체 대신 배열 형식으로 바꾼다.
json_decode($json_data, true)
array(3) { ["key1"]=> NULL ["key2"]=> int(2) ["key3"]=> array(2) { ["name"]=> string(3) "yse" ["age"]=> int(105) } }