티스토리 뷰

PHP4등 하위버전에서 JSON을 사용하는 방법에 대해서는 PHP4에서 JSON 설치하기 에서 살펴봤다. 

이번에는 실제 DB의 내용을 가져와서 JSON 파일을 만드는 방법을 정리해 본다. 


JSON은 HTML에서 Ajax로 통신하거나 안드로이드, 아이폰과 같은 모바일과 통신하기 위해서 주로 사용한다. 

많이 사용하는 형태인 DB의 데이터를 가져와서 JSON으로 출력하는 부분을 정리해 보자. 


데이터와 JSON 출력형태 

사용할 DB 데이터는 다음과 같다. 예제를 보여주기 위해 임시로 만든 테이블이다. 



이 데이터를 가져와서 출력할 JSON 타입의 문자열은 다음과 같다. 

데이터를 묶는 것을 보여주기 위해서 middle_exam과 final_exam을 하나로 합쳤다. 

[
   {"name":"mini","age":18,"exam":[90,95]},
   {"name":"alpha","age":19,"exam":[86,80]},
   {"name":"beta","age":17,"exam":[94,97]}
]


PHP의 JSON 생성 소스 

먼저 소스를 살펴보면 다음과 같다. 

어렵지 않으므로 쉽게 이해할 수 있을 것이다. 


DB 연동하는 것은 일반적이므로 설명을 생략하고, JSON을 만드는 부분인 22-37 라인을 보면 된다. 

PHP에서 JSON으로 변환하기 위해서는 먼저 배열(array)로 만들어야 한다. (22-34라인)


25라인을 보면, url_encode()로 결과값을 감싼 것을 볼 수 있다. 

이것은 JSON 변환을 수행하면 한글이 깨지는 이슈가 있기 때문이다. 

그래서 JSON 변환 전에 url_encode()로 감싸주고, JSON 변환 후 다시 url_decode()로 풀어주는 것이다. 


26라인을 보면, 결과값을 int로 형변환 한 것을 볼 수 있다. 

PHP의 배열로 저장할 때, 일반적으로 String으로 저장되기 때문에 명시적으로 int로 지정한 것이다. 


마지막으로 37라인에서 배열을 json_encode()로 JSON 변환하고, 앞서 url_encode()한 것을 url_decode()로 복원한다. 

이 결과를 print_r로 화면 출력하면 JSON 변환이 완료된다. 

TAG
, ,
댓글
댓글쓰기 폼