我的wordpress网站正在将一些有用的JSON存储在cookie中。当我检索并解码它时,它返回NULL。我看过其他似乎认为是UTF-8问题的帖子。我不认为我可以因为wordpress而改变它。有没有更好的方法来解决这个问题,而不是用字符串替换额外的引号/反斜杠/等?
$ckData = array("initialTime" => $initialTime,"cpCode" => $cpData[0], "cpID" =>cpData[1],"cpExpiry" => $cpExpiry);
$ckDataJSON = json_encode($ckData, JSON_UNESCAPED_SLASHES);
setcookie( '_thecookie', $ckDataJSON, $ckExpiry, '/', 'mysitexyz.com', true, false);
它从cookie返回: string(68)“{\”initialTime \“:1524240724,\”cpCode \“:null,\”cpExpiry \“:1524241624}”
当通过json_decode传递时返回NULL
答案 0 :(得分:1)
您的服务器似乎在启用Magic Quotes的5.4.0之前运行旧版本的PHP,您应该升级。
您需要去除有效JSON的斜杠:
$result = json_decode(stripslashes($cookie));