2

json_encode 함수 옵션은 PHP 5.3.3 이상에서 동작합니다.


공식메뉴얼 주소는 아래를 참고하시면 됩니다.
http://www.php.net/manual/en/function.json-encode.php



그 중 유용하게 쓸만한 옵션만 간단히 설명을 하자면 아래와 같습니다.


JSON_UNESCAPED_UNICODE
대부분의 경우 쓸 데 없는 유니코드문자열을 escape 를 하지 않습니다.

<?php
	echo json_encode("알쯔"); // 출력값 : "\uc54c\ucbd4"
	echo json_encode("알쯔",JSON_UNESCAPED_UNICODE); // 출력값 : "알쯔"
?>


JSON_FORCE_OBJECT
배열(Array)를 강제로 Object형태로 변환합니다.

<?php
	echo json_encode(array('A','B','C')); // 출력값 : ["A","B","C"]
	echo json_encode(array('A','B','C'),JSON_FORCE_OBJECT); // 출력값 : {"0":"A","1":"B","2":"C"}
?>


JSON_NUMERIC_CHECK
숫자로만 구성된 문자열을 INT형태로 자동으로 변환시켜 줍니다.

<?php
	echo json_encode(array('12345','B1234')); // 출력값 : ["12345","B1234"]
	echo json_encode(array('12345','B1234'),JSON_NUMERIC_CHECK); // 출력값 : [12345,"B1234"]
?>


JSON_HEX_TAG
따옴표나 태그기호(<,>) 등을 HEX로 인코딩합니다.

<?php
	echo json_encode("< > & `"); // 출력값 : "< > & `"
	echo json_encode("< > & `",JSON_HEX_TAG); // 출력값 : "\u003C \u003E & `"
?>


여러개의 옵션을 동시에 사용하려면 아래와 같이 입력하면 됩니다.

<?php
	$json = json_encode($obj, JSON_NUMERIC_CHECK | JSON_FORCE_OBJECT | JSON_UNESCAPED_UNICODE);
?>