PHP 19강. JSON(JSON Encode / Decode)
1. JSON이란?
JSON(JavaScript Object Notation)은 데이터를 주고받기 위한 표준 형식입니다.
React와 PHP는 대부분 JSON으로 통신합니다.
예를 들어
React
↓
JSON
↓
PHP
↓
MySQL
2. 왜 JSON을 사용할까?
PHP는 배열을 사용합니다.
React는 JavaScript 객체를 사용합니다.
JSON은 두 언어가 이해할 수 있는 공통 데이터 형식입니다.
3. PHP 배열
<?php
$member = [
"name"=>"홍길동",
"course"=>"EAST"
];
4. JSON 변환
<?php
echo json_encode($member);
?>
결과
{
"name":"홍길동",
"course":"EAST"
}
5. 배열 JSON
<?php
$list = [
"EAST",
"WEST",
"VALLEY"
];
echo json_encode($list);
?>
결과
["EAST","WEST","VALLEY"]
6. 다차원 배열
<?php
$members=[
[
"name"=>"홍길동"
],
[
"name"=>"김철수"
]
];
echo json_encode($members);
?>
7. JSON → PHP
<?php
$json='{"name":"홍길동"}';
$data=json_decode(
$json,
true
);
echo $data["name"];
?>
결과
홍길동
8. true 옵션
json_decode(
$json,
true
);
true를 사용하면 연관 배열로 변환됩니다.
9. 동부산CC 예제
PHP
<?php
$reservation=[
"name"=>"커사맨",
"course"=>"EAST",
"player"=>4
];
echo json_encode($reservation);
?>
React는 이 JSON을 받아 화면에 출력합니다.
10. API 구조
React
↓
Axios
↓
reservation.php
↓
json_encode()
↓
React
11. MySQL 결과
$result =
$stmt->fetchAll();
echo
json_encode($result);
데이터베이스 조회 결과를 JSON으로 반환합니다.
12. 응답 헤더
JSON을 반환할 때는 헤더를 지정하는 것이 좋습니다.
header(
"Content-Type: application/json"
);
13. React와 비교
React
axios.get(
"/api/reservation.php"
)
PHP
echo json_encode($result);
React는 데이터를 요청하고,
PHP는 JSON을 응답합니다.
14. JSON 예제
{
"id":1,
"name":"홍길동",
"course":"EAST"
}
15. 배열 JSON
[
{
"id":1,
"name":"홍길동"
},
{
"id":2,
"name":"김철수"
}
]
게시판 목록도 같은 형태입니다.
16. 실무 활용
✔ 회원 목록
✔ 예약 목록
✔ 게시판
✔ 공지사항
✔ 갤러리
✔ 관리자 페이지
모두 JSON으로 통신합니다.
17. React에서 출력
list.map(item=>(
<div>
{item.name}
</div>
))
PHP가 보낸 JSON 데이터를 React에서 출력합니다.
18. 실습 과제
다음 데이터를 JSON으로 만들어 보세요.
예약자
코스
날짜
인원
그리고
배열 3개를 JSON으로 출력해 보세요.
19. 실무 팁
✔ API는 JSON 반환
✔ MySQL → 배열 → JSON
✔ React → Axios → JSON
✔ JSON은 프런트엔드와 백엔드의 공통 언어
20. 정리
JSON은 React와 PHP가 데이터를 주고받기 위해 사용하는 표준 데이터 형식입니다.
PHP에서는 json_encode()를 사용하여 배열을 JSON으로 변환하고, json_decode()를 사용하여 JSON을 다시 PHP 배열로 변환할 수 있습니다.
동부산CC 프로젝트에서는 예약 정보, 공지사항, 갤러리, 회원 목록 등 대부분의 데이터를 JSON 형태로 주고받으며, React는 Axios를 통해 이 데이터를 받아 화면에 출력합니다.
1. JSON이란?
JSON(JavaScript Object Notation)은 데이터를 주고받기 위한 표준 형식입니다.
React와 PHP는 대부분 JSON으로 통신합니다.
예를 들어
React
↓
JSON
↓
PHP
↓
MySQL
2. 왜 JSON을 사용할까?
PHP는 배열을 사용합니다.
React는 JavaScript 객체를 사용합니다.
JSON은 두 언어가 이해할 수 있는 공통 데이터 형식입니다.
3. PHP 배열
<?php
$member = [
"name"=>"홍길동",
"course"=>"EAST"
];
4. JSON 변환
<?php
echo json_encode($member);
?>
결과
{
"name":"홍길동",
"course":"EAST"
}
5. 배열 JSON
<?php
$list = [
"EAST",
"WEST",
"VALLEY"
];
echo json_encode($list);
?>
결과
["EAST","WEST","VALLEY"]
6. 다차원 배열
<?php
$members=[
[
"name"=>"홍길동"
],
[
"name"=>"김철수"
]
];
echo json_encode($members);
?>
7. JSON → PHP
<?php
$json='{"name":"홍길동"}';
$data=json_decode(
$json,
true
);
echo $data["name"];
?>
결과
홍길동
8. true 옵션
json_decode(
$json,
true
);
true를 사용하면 연관 배열로 변환됩니다.
9. 동부산CC 예제
PHP
<?php
$reservation=[
"name"=>"커사맨",
"course"=>"EAST",
"player"=>4
];
echo json_encode($reservation);
?>
React는 이 JSON을 받아 화면에 출력합니다.
10. API 구조
React
↓
Axios
↓
reservation.php
↓
json_encode()
↓
React
11. MySQL 결과
$result =
$stmt->fetchAll();
echo
json_encode($result);
데이터베이스 조회 결과를 JSON으로 반환합니다.
12. 응답 헤더
JSON을 반환할 때는 헤더를 지정하는 것이 좋습니다.
header(
"Content-Type: application/json"
);
13. React와 비교
React
axios.get(
"/api/reservation.php"
)
PHP
echo json_encode($result);
React는 데이터를 요청하고,
PHP는 JSON을 응답합니다.
14. JSON 예제
{
"id":1,
"name":"홍길동",
"course":"EAST"
}
15. 배열 JSON
[
{
"id":1,
"name":"홍길동"
},
{
"id":2,
"name":"김철수"
}
]
게시판 목록도 같은 형태입니다.
16. 실무 활용
✔ 회원 목록
✔ 예약 목록
✔ 게시판
✔ 공지사항
✔ 갤러리
✔ 관리자 페이지
모두 JSON으로 통신합니다.
17. React에서 출력
list.map(item=>(
<div>
{item.name}
</div>
))
PHP가 보낸 JSON 데이터를 React에서 출력합니다.
18. 실습 과제
다음 데이터를 JSON으로 만들어 보세요.
예약자
코스
날짜
인원
그리고
배열 3개를 JSON으로 출력해 보세요.
19. 실무 팁
✔ API는 JSON 반환
✔ MySQL → 배열 → JSON
✔ React → Axios → JSON
✔ JSON은 프런트엔드와 백엔드의 공통 언어
20. 정리
JSON은 React와 PHP가 데이터를 주고받기 위해 사용하는 표준 데이터 형식입니다.
PHP에서는 json_encode()를 사용하여 배열을 JSON으로 변환하고, json_decode()를 사용하여 JSON을 다시 PHP 배열로 변환할 수 있습니다.
동부산CC 프로젝트에서는 예약 정보, 공지사항, 갤러리, 회원 목록 등 대부분의 데이터를 JSON 형태로 주고받으며, React는 Axios를 통해 이 데이터를 받아 화면에 출력합니다.
#PHP 19강. JSON(JSON Encode / Decode)