首页  >  文章  >  后端开发  >  PHP 生成JSON问题

PHP 生成JSON问题

WBOY
WBOY原创
2016-06-06 20:32:101076浏览

PHP 生成JSON如何不做unioncode编码转换

比如在json 里面 $a = ['name'=>'张三','age'=>20];在json_encode后 '张三'会变成
'/u97asfddd/' 这样的编码,如何能使'张三'不转换成 '/u/'这样的编码呢?

回复内容:

PHP 生成JSON如何不做unioncode编码转换

比如在json 里面 $a = ['name'=>'张三','age'=>20];在json_encode后 '张三'会变成
'/u97asfddd/' 这样的编码,如何能使'张三'不转换成 '/u/'这样的编码呢?

JSON_UNESCAPED_UNICODE需要php5.4以上的版本才可以使用

<code>PHP</code><code>function json_encode_wrapper ($result)
{
    if(defined('JSON_UNESCAPED_UNICODE')){
        return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_NUMERIC_CHECK);
    }else {
        return preg_replace(
            array("#\\\u([0-9a-f][0-9a-f][0-9a-f][0-9a-f])#ie", "/\"(\d+)\"/",),
            array("iconv('UCS-2', 'UTF-8', pack('H4', '\\1'))", "\\1"),
            json_encode($result)
        );
    }
}
</code>

http://php.net/json_encode

<code>echo json_encode($arr, JSON_UNESCAPED_UNICODE);
</code>
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn