当字符串值包含单引号(')时,我无法使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;
答案 0 :(得分:0)
在你的代码中,使用斜杠()跳过单引号('),因此它违反了JSON格式。
尝试删除斜杠并尝试。它应该工作。
您应该检查生成此JSON的代码。
答案 1 :(得分:0)
你的$ result json的格式不正确所以我认为你需要使用stripslashes()来格式化它并在使用json_decode()之后。它会起作用:)。
<?php
$result = "{\"message\":\"test \'\",\"report\":[{\"1\":[{\"port\":\"gsm-1.2\",\"phonenumber\":\"XXXXXXXXXXX\",\"time\":\"2016-08- 31 00:22:57\",\"result\":\"success\"}]}]}";
$result=stripslashes($result);
$resp = json_decode($result, true);
var_dump($resp);
?>
检查phpfiddle =&gt; http://phpfiddle.org/main/code/4e7n-vjxa