将 JS 对象数组存储在 cookie 中,无需插件?

发布于 2024-11-06 08:49:51 字数 336 浏览 0 评论 0原文

存储此信息的最佳方式是什么:

var mydata = [{'11 Alveston Road, Manchester':1},
              {'12 Plymouth Street, Liverpool':2}];

存储在 cookie 中以便稍后检索?

显然,我可以简单地将其全部转换为文本字符串,并添加一些符号作为分隔符(希望这些符号不会出现在数据值中的任何位置),但这似乎有点老套!

另外,如果可能的话,我想避免使用 jQuery cookie 插件等 - 我在移动设备上工作,每个额外的文件调用都会影响性能。

谢谢!

What's the best way to store this:

var mydata = [{'11 Alveston Road, Manchester':1},
              {'12 Plymouth Street, Liverpool':2}];

in a cookie to retrieve later?

I can obviously simply turn it all into a text string, and add some symbols as delimiters (hoping that those symbols don't occur anywhere in the data values), but it seems a bit hacky!

Also I'd like to avoid the jQuery cookie plugin etc if possible - I'm working in mobile, and each extra file call is a performance hit.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝梦月影 2024-11-13 08:49:51

这听起来像是 JSON.stringify 的工作

var myData = JSON.stringify(
    [
        {'11 Alveston Road, Manchester':1},
        {'12 Plymouth Street, Liverpool':2}
    ]
); // "[{"11 Alveston Road, Manchester":1},{"12 Plymouth Street, Liverpool":2}]"

: array 被转换为 JSON 格式的字符串,然后您可以将其用作 cookie 的值。您可以使用 JSON.parse 对其进行解码。


注意:由于您使用的是移动浏览器,它们可能非常现代,因此本地安装了 JSON。在这些情况下,您可以使用此库来解决此问题。

This sounds like a job for JSON.stringify:

var myData = JSON.stringify(
    [
        {'11 Alveston Road, Manchester':1},
        {'12 Plymouth Street, Liverpool':2}
    ]
); // "[{"11 Alveston Road, Manchester":1},{"12 Plymouth Street, Liverpool":2}]"

The array is converted into a string in JSON format, which you can then use as the value of your cookie. You can decode it with JSON.parse.


Note: since you are using mobile browsers, they're probably quite modern and so have JSON natively installed. You can use this library to work around this in these cases.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文