PHP 生成JSON问题

WBOY
WBOYasal
2016-06-06 20:32:101106semak imbas

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>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn