Php无法使用字符串反斜杠解码Json

该字符串{"foo":"\\"}是有效的 json,但似乎 php 无法对它进行 json 解码。


在 php 中运行以下命令:


php > $a = '{"foo":"\\"}';

php > var_dump(json_decode($a));

php shell code:1:

NULL

php > var_dump(json_last_error_msg());

php shell code:1:

string(53) "Control character error, possibly incorrectly encoded"

这里发生了什么事?


慕后森
浏览 148回答 2
2回答

犯罪嫌疑人X

您需要对反斜杠进行转义,因为 PHP 字符串解析器将其作为转义处理。$a = '{"foo":"\\\\"}';但正确的解决方案是使用json_encode():$a = json_encode(["foo": '\\']);请注意,我必须转义该文字中的反斜杠。
打开App,查看更多内容
随时随地看视频慕课网APP