首页 > PHP 生成JSON问题

PHP 生成JSON问题

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

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


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

PHPfunction 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)
        );
    }
}

http://php.net/json_encode

echo json_encode($arr, JSON_UNESCAPED_UNICODE);
【热门文章】
【热门文章】