Php 存储在cookie中的JSON返回不可解码的
我的wordpress站点正在cookie中存储一些有用的JSON。当我检索并解码它时,它返回NULL。我看过其他的帖子,他们似乎认为这是UTF-8的问题。我想我不能因为wordpress而改变这一点。有没有比字符串替换额外的引号/反斜杠等更好的方法来解决这个问题Php 存储在cookie中的JSON返回不可解码的,php,arrays,json,wordpress,Php,Arrays,Json,Wordpress,我的wordpress站点正在cookie中存储一些有用的JSON。当我检索并解码它时,它返回NULL。我看过其他的帖子,他们似乎认为这是UTF-8的问题。我想我不能因为wordpress而改变这一点。有没有比字符串替换额外的引号/反斜杠等更好的方法来解决这个问题 $ckData = array("initialTime" => $initialTime,"cpCode" => $cpData[0], "cpID" =>cpData[1],"cpExpiry" => $
$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返回以下内容:
字符串(68)“{\'initialTime\':1524240724,\'cpCode\':null,\'cpExpiry\':1524241624}”
当通过json_decode返回NULL时,您的服务器似乎运行的是5.4.0之前的旧版本的PHP,如果启用,则应升级 您需要去掉有效JSON的斜杠:
$result = json_decode(stripslashes($cookie));
你如何对其进行编码并将其放入cookie中?您可以向代码展示如何在会话中保存json@AbraCadaver添加了您询问的关于
echo get_magic_quotes_gpc()的信息
如果启用,则禁用它,或者只使用所述的stripslashes
。@Abracadver一旦我使用stripslashes,它的解码就很好了。添加作为答案,我将选择它!谢谢