Home >Backend Development >PHP Tutorial >php json_decode问题

php json_decode问题

WBOY
WBOYOriginal
2016-06-23 13:40:201023browse

一段代码说明问题:

$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 的十六进制表示
前面加上字符 \ 是为了防止歧义 





明白了,多谢~  结贴~
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn