티스토리 뷰

PHP에서 JSON 타입의 메시지를 만들려면 json_encode(), json_decode() 함수를 사용하면 된다. 

그러나 이 메소드는 PHP 5.2부터 지원하기 때문에 PHP5.1 이하에서는 사용할 수 없는 문제가 있다. 


PHP4에서 이 함수를 호출하면 다음과 같은 오류 메시지가 나온다. 

call to undefined function: json_encode()

서버 호스팅과 같이 직접 서버를 보유하고 있다면 버전업으로 간단히 해결할 수 있겠지만 

과거부터 웹 호스팅을 쓰고 있었다면, 더욱이 아쉬운 부분일 수밖에 없다. 


PHP4에서 JSON 설치

어차피 PHP에서도 내장함수로 만들어서 배포한 것이기 때문에 json_encode(), json_decode() 함수를 직접 구현하면 될 것이다. 

하지만, 이미 나와 있는 것을 별도로 구현하는 것은 아닌 것 같아서 찾아보니 다음과 같은 파일이 있었다. ^^


JSON.tar.gz


위 파일을 다운로드해서 압축을 풀면, JSON.php 파일이 존재한다. 

이 파일만 있으면 PHP 4와 같은 하위 버전에서도 json 파일을 자유롭게 생성할 수 있다. 


예제로 포함된 Test-JSON.php 파일을 보면 좀 더 자세히 활용하는 방법을 알 수 있을 것이다. 

하지만, 여기에서는 간단히 json_encode()와 json_decode() 함수를 사용하는 것을 살펴보도록 한다. 


PHP4에서 JSON 생성하기 

먼저 소스 파일과 동일한 폴더에 위에서 다운로드한 JSON.php 파일을 올려놓는다. 


소스를 살펴보면 우선 json_encode()와 json_decode() 함수가 존재하는지를 function_exists()를 통해서 검사한다. 

만약 있다면 이 함수들을 사용할 수 있으므로 그냥 넘어가면 되고, 없을 경우 두 함수를 만들어 주면 된다. 


그리고 JSON.php 파일을 불러오고, Services_JSON 클래스를 생성한 다음 encode(), decode() 메소드를 호출하면 된다. 

이후부터는 json_encode()와 json_decode()가 PHP 5.2이후 버전처럼 있다고 생각하고 프로그래밍 하면 된다. 



댓글
댓글쓰기 폼