当前位置:Gxlcms > PHP教程 > phpjson_decode问题

phpjson_decode问题

时间:2021-07-01 10:21:17 帮助过:5人阅读

一段代码说明问题:

$str = '{"name":"\xe7"}';$json = json_decode($str, true);var_dump($json);


出来的$json是null

问题是:
我该怎样获得这个$json['name'];呢?

我觉得这个问题大概很简单,应该就是个编码的问题,但是我不知道该怎样在网上搜索

提前谢过大家了


回复讨论(解决方案)

$str = '{"name":"\xe7"}';
$str = preg_replace('/\\\x(..)/', '\u00$1', $str);
$json = json_decode($str, true);
var_dump($json);

array(1) {
["name"]=> string(2) “ç"
}

$str = '{"name":"\xe7"}';
$str = preg_replace('/\\\x(..)/', '\u00$1', $str);
$json = json_decode($str, true);
var_dump($json);

array(1) {
["name"]=> string(2) “ç"
}



果然是个好简单的问题啊,谢谢版主

所以这个问题相关的知识我应该怎么去搜索? \x?? 和\u???? 这都分别叫什么呢?

x?? 是 ascii 码的十六进制表示
u???? 是 unicode 的十六进制表示
前面加上字符 \ 是为了防止歧义

x?? 是 ascii 码的十六进制表示
u???? 是 unicode 的十六进制表示
前面加上字符 \ 是为了防止歧义





明白了,多谢~ 结贴~

人气教程排行