PHP转json字符串(json_decode)不转义中文
2018-02-15 17:29:00
•
阅读
打赏
本文主要介绍了PHP转json字符串(json_decode)不转义中文的方法,
分析了php5.4+及5.3版本针对json_decode实现不转义中文的代码,需要的朋友参考下。
默认PHP的 json_decode 方法会把特殊字符进行转义,也会把中文转为Unicode
编码形式。
有时我们需要限制 json_decode 方法对于中文的转义。
对于PHP5.4+版本,json_decode函数第二个参数,就是用来限制转义范围。
要限制中文,使用JSON_UNESCAPED_UNICODE
参数。json_encode($a, JSON_UNESCAPED_UNICODE);
对于PHP5.3版本,先把ASCII 127以上的字符转换为HTML数值,来避免被json_decode函数转码:
function my_json_encode($arr)
{
array_walk_recursive($arr, function (&$item, &$key) {
if (is_string($item)) {
$item = mb_encode_numericentity($item, array(0x80, 0xffff, 0, 0xffff), 'UTF-8');
};
});
return mb_decode_numericentity(json_encode($arr), array(0x80, 0xffff, 0, 0xffff), 'UTF-8');
}
$re = my_json_encode(array('1'=>'aa','2'=>'我们'));
echo $re; //输出{"1":"aa","2":"我们"}
PS:这里再为大家推荐比较实用的json在线工具供大家参考使用:
JSON在线格式化工具:http://dev.yuqingqi.com/json/
以上就是本文PHP转json字符串(json_decode)不转义中文的全部内容了,希望本文所述对大家PHP程序设计有所帮助。
相关推荐
深度学习 -- 损失函数
深度残差网络(Deep Residual Networks (ResNets))
深度学习 -- 激活函数
神经网络训练 -- 调整学习速率
生成对抗网络(GAN)改进与发展
生成对抗网络(GAN)优点与缺点
生成对抗网络(GAN)的训练
生成对抗网络(GAN)基本原理
生成模型与判别模型