여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. PHP - 기초 - JSON 이란?
PHP – 기초 – JSON 이란?
2년전 작성
1년전 수정

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->조;
?>
기본 예시
353743
PHP 연관 배열의 값에 액세스하는 방법
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

참고

Mingg`s Diary
밍구
밍구
공부 목적 블로그