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); ?>