php

[php Advanced] 2주차(6회차) / php JSON

namgi 2022. 9. 15. 00:45
반응형

Advanced 마지막까지 두 개의 회차만 남았다.

이번은 6회차로,

JSON에 대해 배웠다.

 

php JSON

JSON이란? - JSON은 JavaScript Object Notation의 약자로,

데이터를 저장하고 교환하기 위한 구문이다.

JSON은 텍스트 기반 형식으로 서버와 쉽게 주고받을 수 있으며,

모든 프로그래밍 언어에서 데이터 형식으로 사용할 수 있다.

 

더 자세한 내용: https://ko.wikipedia.org/wiki/JSON


php JSON 함수

  • json_encode()
  • json_decode()

 

json_encode()

'json_encode() 함수'는 값을 json 형식으로 인코딩하는 데 사용된다.

먼저 코드부터 봐보자.

<?php

//age변수 안에 연관 배열 지정
$age = array("namgi"=>16, "jimin"=>19, "yeji"=>25);

//age변수를 JSON형식으로 인코딩
echo json_encode($age);
?>

연관 배열을 JSON형식으로 인코딩하는 코드다.

 

실행결과는 다음과 같다.

다음은 인덱싱된 배열을 JSON형식으로 인코딩하는 코드이다.

코드부터 봐보자.

<?php

//name변수 안에 인덱싱배열 지정
$name = array("namgi", "jimin", "yeji");

//name변수를 JSON형식으로 인코딩
echo json_encode($name);
?>

실행결과는 다음과 같다.

json_decode()

'json_deocde() 함수'는 JSON 형식을 PHP 형식 또는 연관 배열로 디코딩하는 데 사용된다.

먼저 코드부터 봐보자.

<?php

//변수 jsondec에 JSON데이터를 입력
$jsondec = '{"Namgi":16,"Jimin":19,"Yeji":25}';

//jsondec 변수의 정보를 출력, php 객체로 디코딩
var_dump(json_decode($jsondec));
?>

'var_dump() 함수'는 변수의 정보를 출력해준다.

 

위 코드의 실행결과는 다음과 같다.

 

JSON 데이터를 PHP 연관 배열로 디코딩 할 수 있다.

코드를 먼저 봐보자.

<?php

//변수 jsondec에 JSON데이터를 입력
$jsondec = '{"Namgi":16,"Jimin":19,"Yeji":25}';

//jsondec 변수의 정보를 출력, JSON 데이터를 PHP 연관 배열로 디코딩
var_dump(json_decode($jsondec, true));
?>

'json_decode() 함수'에 두 번째 매개변수를 설정할 수 있으며,

true로 설정하면 JSON 객체가 연관 배열로 디코딩된다.

 

실행결과는 다음과 같다.

 

'foreach() 함수'를 사용하여 php 객체의 값을 반복할 수 있다.

 

먼저 코드부터 봐보자.

<?php
$jsondec = '{"Namgi":16,"Jimin":19,"Yeji":25}';

$dec = json_decode($jsondec);

foreach($dec as $key => $value) {
  echo $key . " => " . $value . "<br>";
}
?>

'foreach() 함수'가 객체를 반복할 수 있게 도와준다.

 

코드 실행 결과는 다음과 같다.


이번회차에선 JSON에 대해 배웠다.

다음은 마지막회차로,

php 예외에 대해 배울 것이다.

반응형