我在服务器上收到一个JSON字符串,必须通过json_decode进行转换。该字符串可能包含任何内容以下是一些难以重现的问题,我尝试了以下测试:PHP json_decode反斜杠
$data = '{"client":"Test @#€%&-+()\/\\_*\""}';
$data = json_decode($data);
var_dump($data); die;
这将返回NULL。如果我删除\\,则代码有效。我在谷歌开发工具中尝试了这一点,它在Javascript中工作。我如何使它在json_decode中工作?
谢谢!
\在这个字符串中的目的是什么?为了逃避或拥有文字\字符? – AbraCadaver
使用\\\或\\\\将会成功解码其中包含文字反斜杠('\\')字符的JSON字符串。 – lolbas
@lolbas,已经尝试过,也返回null。事实上,str_replace(“\\\\”,...)实际上根本不起作用。 AbraCadaver,抱歉,忘记提及该字符串已被发件人(在本例中为Android设备)转义。所以\\是一个文字\字符。 – Sagito