读懂json_encode([$array], JSON_UNESCAPED_UNICODE)

       我们知道, 用PHP的json_encode来处理中文的时候, 中文都会被编码, 变成不可读的, 类似”\u***”的格式, 还会在一定程度上增加传输的数据量.

echo json_encode("中文");
//"\u4e2d\u6587"

       这就让我们这些在天朝做开发的同学, 很是头疼, 有的时候还不得不自己写json_encode.
而在PHP5.4, 这个问题终于得以解决, Json新增了一个选项: JSON_UNESCAPED_UNICODE, 故名思议, 就是说, Json不要编码Unicode.

看下面的例子:

echo json_encode("中文", JSON_UNESCAPED_UNICODE);
//"中文"

还有:

**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 起生效。
在写接口的时候我们也会用到:

function ajaxReturn($status, $data, $note) {
    echo json_encode(['status' => (int) $status, 'data' => $data, 'note' => $note], JSON_UNESCAPED_UNICODE);
    die();
}
20160607155646.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容