【发布时间】:2021-02-20 07:15:18
【问题描述】:
在 PHP 中,我有一个用 JSON 编码的数组,然后我变成了一个 cookie。
<?php
$array = array("name" => "bob", "age" => "20");
$arrayJSON = json_encode($array);
setcookie("name", $arrayJSON, time() + (86400 * 33), "/");
?>
我现在正尝试用 Javascript 做同样的事情。 json_encoding Javascript 数组然后将其设置为 cookie 的 Javascript 等价物是什么?这是我目前所拥有的:
<script>
var array = new Array();
array["name"] = "bob";
array["age"] = "20";
// Need help here
array = *javascript_json_encode*(array); // Do the Javascript equivalent of PHP's json_encode();
document.cookie = "name="+array;
</script>
我正在尝试这样做,以便 Javascript cookie 的格式与 PHP cookie 的格式相同。当您在浏览器控制台输入“document.cookie”时,我需要 Javascript cookie 格式如下。
我需要将"name: bob" 和"age: 20" 变成%7B%22name%22%3A%22bob%22%2C%22age%22%3A%2220%22%7D"。别管我是怎么做的。
【问题讨论】:
-
我想我需要一些不同的东西。 JSON.stringify() 用于将 JSON 对象转换为字符串。我正在尝试将 Javascript 关联数组转换为 JSON 字符串
-
JS 没有“关联数组”之类的东西。 JS中有objects和arrays。如果您想要键值对,请使用对象,而不是数组。
-
如果你想要键值对,使用对象,而不是数组。
-
就像我说的,如果你想要键值对,使用对象,而不是数组。
标签: javascript php arrays json cookies