热搜:NVER node 开发 php

php json_decode问题

2024-08-12 11:35:01
php json_decode问题

一段代码说明问题:

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





明白了,多谢~  结贴~