我在服務器上收到一個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