PHP2011. 5. 9. 02:41

                 *PHP버전 : 5.2.1 이상을 사용하여야 기본으로 내장되어 있다.*

[개념]

 JSON(JavaS-ript Oject Notation)은 인터넷을 통해 응용프로그램간 데이터를 주고 받는 규칙 즉 데이터 포맷을 일컫는다. 그리고 JSON이 비록 자바스크립트 구문형식을 따르기는 하지만 그 자체로 하나의 독립적인 체계로서 특정 언어나 플랫폼에 종속되지 않으며 C#, Java, ASP, PHP, C, C++등의 다양한 언어에서 JSON 포맷을 위한 파서들이 제공되고 있다.

 

[내장함수]

PHP 버전이 5.2.1 이상이라면 PHP에도 JSON이 기본으로 내장되어 있다. 이 경우에 사용하는 함수는 세 가지다.

- json_decode    : JSON 문자열을 PHP 배열로 바꾼다.

- json_encode    : PHP 배열을 JSON 문자열로 바꾼다.

- json_last_error :  마지막으로 일어난 에러를 반환한다.

 

[PHP JSON 한글 처리 예제]

urlencode(), urldecode() 함수로 처리하는 방법

 

print?

<?php
$val = array(urlencode("에혀~"), "1", 23);
$output = json_encode($val);
echo urldecode($output)."\n";
//결과
//["에혀~","1",23]
?>

 

[예제소스(다운 받았을 경우)]

JSON.php 파일에는 Services_JSON 클래스가 있다. 다음 예제처럼 사용하면 된다.

require 'JSON.php';
 
// create a new instance of Services_JSON
$json = new Services_JSON();
 
// convert a complexe value to JSON notation, and send it to the browser
$value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
$output = $json->encode($value);
 
print($output);
// prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
 
// accept incoming POST data, assumed to be in JSON notation
$input = file_get_contents('php://input', 1000000);
$value = $json->decode($input);
 
 
Posted by 아이맥스