php - 尝试解码 json 时,编码的 json 数组在 cookie 中损坏
问题描述
我将在下面确切解释正在发生的事情。任何关于修复的想法都会非常感谢。
见下面我的 PHP 数组..
$myArray = array( 145 => true, 134 => true, 152 => true);
我的数组然后 var 转储了..
array(3) { [145]=> bool(true), [134]=> bool(true), [152]=> bool(true) }
然后我对我的数组进行json编码..
$myJson = json_encode($myArray);
我编码的 json var 转储结果是..
string(34) "{"145":true,"134":true,"152":true}"
然后我使用这样的json字符串设置我的cookie..
setcookie('mycookie', $myJson);
然后这是设置后的cookie内容..
%7B%22145%22%3Atrue%2C%22134%22%3Atrue%2C%22152%22%3Atrue%7D
好的,这就是麻烦开始的地方
然后我使用这个获取cookie内容..
$myCookie = $_COOKIE['mycookie'];
$myCookie
这是..的 var 转储
string(40) "{\"131\":true,\"134\":true,\"152\":true}"
如您所见,这与我在 cookie 中设置的字符串不同。现在有反斜杠,比如它被转义或其他东西。为什么会这样?
如果我现在尝试解码 json,它会返回NULL
.
谁能理解为什么会这样?当然我不应该用字符串替换这些反斜杠吗?我想做的就是解码json。我的原始编码字符串解码得很好,只是当它被添加到 cookie 中时,它会破坏我的 json。
解决方案
推荐阅读
- laravel - 仅当用户在 AT&T 5Ge 网络上且用户已登录时,才会出现网络错误
- objective-c - 什么相当于 Metal 中的 glStencilFunc?
- c# - 如何在 Unity2D 中设置加速度?
- delphi - Firemonkey 样式 - 复制特定样式查找以自定义
- sql - 从 Oracle 存储云读取数据到外部表
- python - 如何正确重塑这个 NumPy 数组?
- php - PHP 复制 PHP 模板文件并使用新文件名保存
- laravel - 我可以使用 max() 函数获得列名吗?
- mongodb - 为了避免依赖关系,是否值得创建一个相同的映射类?
- c++ - MIL vs. fieldname vs. this->fieldname