【发布时间】:2017-01-07 01:43:42
【问题描述】:
当字符串值包含单引号 (') 时,我无法使 json_decode() 工作,如下例所示:
$result = "{\"message\":\"test \' \",\"report\":[{\"1\":[{\"port\":\"gsm-1.2\",\"phonenumber\":\"XXXXXXXXXXX\",\"time\":\"2016-08-31 00:22:57\",\"result\":\"success\"}]}]}";
$resp = json_decode($result, true);
echo $resp;
【问题讨论】:
-
你为什么要逃避它?只需使用
'。此外,您不能echo数组。 -
如果没有必要,不要手动构建 JSON 字符串。构建正确的对象/数组,然后让
json_encode()处理其余部分。 -
@AbraCadaver 你是对的。单引号的转义会导致问题。
-
@Sammitch 我并没有真正手工构建它。结果来自我们的 gsm 网关 api 的结果。但是那个特定的字符串值会导致 json_decode 的错误。但 abracadaver 指出这是单引号的转义。