$ar = array("word" => "中文","test"=>array(),'aaa'=>"4");php
echo json_encode($ar,JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT | JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);json
{ "word": "中文", "test": {}, "aaa": 4 }数组
string json_encode ( mixed $value
[, int $options
= 0 [, int $depth
= 512 ]] )编码
options
.net
由如下常量组成的二进制掩码: JSON_HEX_QUOT
, JSON_HEX_TAG
, JSON_HEX_AMP
, JSON_HEX_APOS
,JSON_NUMERIC_CHECK
, JSON_PRETTY_PRINT
, JSON_UNESCAPED_SLASHES
, JSON_FORCE_OBJECT
,JSON_PRESERVE_ZERO_FRACTION
, JSON_UNESCAPED_UNICODE
, JSON_PARTIAL_OUTPUT_ON_ERROR
。 关于 JSON 常量详情参考JSON 常量页面。code
JSON_HEX_TAG
(integer)字符串
全部的 < 和 > 转换成 \u003C 和 \u003E。 自 PHP 5.3.0 起生效。get
JSON_HEX_AMP
(integer)string
全部的 & 转换成 \u0026。 自 PHP 5.3.0 起生效。io
JSON_HEX_APOS
(integer)
全部的 ' 转换成 \u0027。 自 PHP 5.3.0 起生效。
JSON_HEX_QUOT
(integer)
全部的 " 转换成 \u0022。 自 PHP 5.3.0 起生效。
JSON_FORCE_OBJECT
(integer)
使一个非关联数组输出一个类(Object)而非数组。 在数组为空而接受者须要一个类(Object)的时候尤为有用。 自 PHP 5.3.0 起生效。
JSON_NUMERIC_CHECK
(integer)
将全部数字字符串编码成数字(numbers)。 自 PHP 5.3.3 起生效。
JSON_BIGINT_AS_STRING
(integer)
将大数字编码成原始字符原来的值。 自 PHP 5.4.0 起生效。
JSON_PRETTY_PRINT
(integer)
用空白字符格式化返回的数据。 自 PHP 5.4.0 起生效。
JSON_UNESCAPED_SLASHES
(integer)
不要编码 /。 自 PHP 5.4.0 起生效。
JSON_UNESCAPED_UNICODE
(integer)
以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)。 自 PHP 5.4.0 起生效。