JSON 이란?
JSON은 자바 스크립트 객체 표기법을 의미하며 데이터를 저장하고 교환하기위한 구문이다.
JSON 형식은 텍스트 기반 형식이므로 서버와 쉽게 주고받을 수 있으며 모든 프로그래밍 언어에서 데이터 형식으로 사용할 수 있다.
PHP와 JSON
PHP에는 JSON을 처리 할 수있는 몇 가지 내장 함수가 있다.
json_encode()
json_encode() 함수는 값을 JSON 형식으로 인코딩하는 데 사용된다.
연관 배열을 JSON 개체로 인코딩하는 방법
PHP
<?php $age = array("피터"=>35, "벤"=>37, "조"=>43); echo json_encode($age); ?>
기본 예시
{“피터”:35,”벤”:37,”조”:43}인덱싱된 배열을 JSON 배열로 인코딩하는 방법
PHP
<?php $cars = array("볼보", "BMW", "포드"); echo json_encode($cars); ?>
기본 예시
[“볼보”,”BMW”,”포드”]json_decode()
json_decode() 함수는 JSON 객체를 PHP 객체 또는 연관 배열로 디코딩하는 데 사용된다.
json_decode() 함수는 기본적으로 객체를 반환한다.
json_decode() 함수에는 두 번째 매개 변수가 있으며 true로 설정하면 JSON 개체가 연관 배열로 디코딩된다.
JSON 데이터를 PHP 객체로 디코딩하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; var_dump(json_decode($jsonobj)); ?>
기본 예시
object(stdClass)#1 (3) { [“피터”]=> int(35) [“벤”]=> int(37) [“조”]=> int(43) }JSON 데이터를 PHP 연관 배열로 디코딩하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; var_dump(json_decode($jsonobj, true)); ?>
기본 예시
array(3) { [“피터”]=> int(35) [“벤”]=> int(37) [“조”]=> int(43) }디코딩 된 값에 액세스
객체와 연관 배열에서 디코딩 된 값에 액세스하는 방법을 알아보자.
PHP 개체의 값에 액세스하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; $obj = json_decode($jsonobj); echo $obj->피터; echo $obj->벤; echo $obj->조; ?>
기본 예시
353743PHP 연관 배열의 값에 액세스하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; $arr = json_decode($jsonobj, true); echo $arr["피터"]; echo $arr["벤"]; echo $arr["조"]; ?>
기본 예시
353743값을 반복하는 방법
foreach() 루프를 사용하여 값을 반복 할 수 있다.
PHP 객체의 값을 반복하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; $obj = json_decode($jsonobj); foreach($obj as $key => $value) { echo $key . " => " . $value . "
"; } ?>
기본 예시
피터 => 35벤 => 37
조 => 43
PHP 연관 배열의 값을 반복하는 방법
PHP
<?php $jsonobj = '{"피터":35,"벤":37,"조":43}'; $arr = json_decode($jsonobj, true); foreach($arr as $key => $value) { echo $key . " => " . $value . "
"; } ?>
기본 예시
피터 => 35벤 => 37
조 => 43
참고
W3C School - PHP and JSON
W3C School - PHP Tryit Editor