php json_decode问题

WBOY
WBOYoriginal
2016-06-23 13:40:201024parcourir

一段代码说明问题:

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





明白了,多谢~  结贴~
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn