开发者社区> 问答> 正文

关于 PHP 生成JSON问题

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

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

展开
收起
爵霸 2016-03-05 10:50:55 1968 0
1 条回答
写回答
取消 提交回答
  • JSON_UNESCAPED_UNICODE需要php5.4以上的版本才可以使用

    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)
            );
        }
    }
    2019-07-17 18:53:02
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载