개발이야기/PHP

[PHP] JSON 만들기, json_encode, json_decode

후린개발자 2022. 9. 15.
반응형

json은 데이터를 가공하기에 필수적인 요소이므로 꼭 숙지하셔야 합니다.
php 배열을 선언해주시고 내장함수로 json 형태로 변환 하시면 됩니다.

timestamp 형태로도 쓸수 있으며, info 처럼 데이터 안에 배열을 선언 하실수도 있습니다.
json_encode 출력결과는 json array가 포함된 object를 문자열로 변환한 형태 입니다.
json_decode 로 데이터도 확인 하실 수 있습니다.

 

<?php

$userAgent = $_SERVER['HTTP_USER_AGENT']; 
$array = array();
$array["timestamp"]= date("Y-m-d H:i:s");
//배열안에 배열선언
$array["info"]= array("id"=>"test_id" ,"pw"=>"test_pw");
$array["user"]= array("ip"=>"1.1.1.1", "agent"=>$userAgent);

//배열을 json으로 변환
$rst = json_encode($array);

//출력 결과
echo $rst;
/*
{
	"timestamp":"2022-09-15 07:49:36",
	"info":{
	"id":"test",
	"pw":"test"
	},
	"user":{
	"ip":"1.1.1.1",
	"agent":"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/105.0.0.0 Safari\/537.36"
	}
}
*/

$data = json_decode($rst, true);
echo $data['timestamp']."<br/>";
echo $data['info']['id']."<br/>";
echo $data['info']['pw']."<br/>";
echo $data['user']['ip']."<br/>";
echo $data['user']['agent']."<br/>";

/*
2022-09-15 08:26:36
test_id
test_pw
1.1.1.1
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36
*/
?>
반응형

댓글

💲 추천 글