0

我搜索了stackoverflow,发现cookie只能存储字符串而不是数组。

我有一个这样的数组:

  var myvar = {
   'comment' : '123',
   'blog' : 'blog',
   'test' : '321
  }

然后我使用这个 jquery 插件来管理 cookie: https ://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js

我使用下面的代码来存储名为“设置”的 cookie:

  $.cookie('setting',  myvar , { expires: 1, path: '/' });

但是如何将该数组转换为字符串,我知道我可以使用 .join,但是如果我的数组值(例如注释)是特殊字符(如汉字等)怎么办?

以及如何再次访问 cookie 并取出字符串并将其再次转换为数组?

4

1 回答 1

2

将对象存储在 cookie 中:

var myvar = {
   'comment' : '123',
   'blog' : 'blog',
   'test' : '321'
};

var serialized = JSON.stringify(myvar);

$.cookie('setting', serialized, { expires: 1, path: '/' });

从 cookie 中检索对象:

JSON.parse($.cookie("setting"));

有关 JSON.stringify 和 JSON.parse 的示例,请参阅此答案

于 2012-10-07T04:34:54.020 回答