Я получаю строку JSON на сервере, которая должна быть преобразована через json_decode. Эта строка может содержать что угодно. После некоторых трудностей с воспроизведением я попытался в качестве теста:PHP json_decode обратная косая черта
$data = '{"client":"Test @#€%&-+()\/\\_*\""}';
$data = json_decode($data);
var_dump($data); die;
Это возвращает NULL. Если я удалю \\, код будет работать. Я пробовал это в Google Dev Tools и работает в Javascript. Как я могу заставить его работать в json_decode?
Спасибо!
В чем цель \ в этой строке? Чтобы убежать или иметь буквенный символ \ char? – AbraCadaver
Использование \\\ или \\\\ будет успешно декодировать строку JSON, имеющую в ней буквенный символ обратной косой черты ('\\'). – lolbas
@lolbas, уже пробовал, также возвратил null. На самом деле str_replace («\\\\», ...) фактически вообще не работало. AbraCadaver, извините, забыл упомянуть, что строка уже сбежала от отправителя (в данном случае, Android-устройства). Итак, \\ - буквальный символ. – Sagito