2022. 10. 15. 04:58ㆍProgram/PHP
154_PHP에서 JSON 데이터 다루기 file_get_contentes(), json_decode()
[요약]
- PHP에서 JSON 데이터를 다루는 방법에 대해 알아보자.
- JSON 파일을 만들어 file_get_contents() 함수를 사용해 불러온다.
자바스크립트의 변수에 JSON 데이터를 대입하여 학습을 진행해 봤다.
이번에는 JSON 데이터를 파일로 만들어서 PHP의 file_get_contents() 함수를 활용하여 학습을 진행해보자.
file_get_contents()는 파일의 내용을 불러오는 함수이다.
우선 JSON 데이터를 파일로 저장해보자.
다음의 코드를 [157-1.json]파일로 저장한다.
[예제: 157-1.json ]
{
"student": [
{ "name": "yuna", "score": { "math": 4, "english": 5, "science": 6 } },
{ "name": "son", "score": { "math": 7, "english": 8, "science": 9 } }
]
}
file_get_contents() 함수를 사용하여 앞에서 저장한 [157-1.json] 파일의 데이터를 불러와 보도록 하자.
[file_get_contents() 함수 사용 방법]
file_get_contents(파일 경로와 파일명);
앞에서 생성한 [157-1.json] 파일을 예로 든다면 다음과 같다.
file_get_contents('./157-1.json');
file_get_contents() 함수는 파일의 내용을 반환한다.
다음은 file_get_contents() 함수를 사용하여 [157-1.json] 파일의 내용을 불러오는 예제이다.
[예제: 157-2_fileGetContents.php ]
<?php
$data = file_get_contents('./157-1.json');
if($data !== false) {
echo "데이터형 : ".gettype($data)."<br>";
echo $data;
} else {
echo "실패";
}
?>
실행결과
JSON 데이터는 현재 PHP측에서 텍스트(스트링형)일 뿐이다.즉 JSON 데이터의 name 변수, score 변수를 찾아서 활용할 수 없는 단계인 것이다.그래서 스트링형으로 인식되는 JSON 데이터를 배열 데이터로 인식할 수 있게 변경해야 한다.
배열로 변경하기 위해서는 json_decode() 함수를 사용한다.
[json_decode() 함수 사용 방법]
json_decode(변수, true);
다음은 json_decode() 함수를 활용하여 var_dump()로 데이터를 확인하는 예제이다.
[예제: 157-3_jsonDecode.php ]
<?php
$data = file_get_contents('./157-1.json');
if($data !== false) {
$data = json_decode($data, true);
echo "데이터형 : ".gettype($data)."<br>";
echo $data['student'][0]['score']['math'];
echo "<br><pre>";
var_dump($data);
} else {
echo "실패";
}
?>
실행결과
초보자를 위한 PHP 200제
김태영 지음 | 정보문화사
'Program > PHP' 카테고리의 다른 글
[PHP] 데이터베이스 자료를 JSON으로 만들기 json_encode() (0) | 2022.10.17 |
---|---|
[PHP] PHP에서 데이터를 JSON으로 만들기 json_encode() (0) | 2022.10.17 |
[PHP] 자바스크립트로 JSON 데이터 다루기 (0) | 2022.10.15 |
[PHP] JSON이란... (0) | 2022.10.15 |
[PHP] 이미지 파일을 서버에 업로드하기 move_uploaded_file() (1) | 2022.10.13 |