对jQuery.parseJSON()的反向操作是什么;

时间:2014-04-11 09:25:39

标签: javascript jquery json cookies

在javaScript中,使用jQuery库,我需要:

  • 获取一系列对象。
  • 字符串化。
  • 将其另存为Cookie。
  • 刷新时 - >解析cookie并“重新创建”数组。

使用JSON很容易。

// Write JSON Cookie
var foo = JSON.stringify(myValue);
writeCookie(foo);

// Read [Eat?] JSON Cookie
var foo = JSON.parse(readCookie("myArray"));
if(foo.length) {
    myArray = foo;
}

(注意:writeCookie(); readCookie();我根据quirksmode.org上建议的cookie函数编写了2个函数。)

现在,我的用户群涉及很多IE8之前的浏览器。 (这不支持这些方法)。所以我想转向jQuery插入漏洞。 Parsing JSON很简单:

// Read JSON Cookie with jQuery
var foo = jQuery.parseJSON(readCookie("myArray"));
if(foo.length) {
    myArray = foo;
}

我的问题是我如何使用jQuery将一个JSON对象写入cookie(这样它可以用于早期版本的IE)。

由于

更新:仍然混淆为什么jQuery会提供parseJSON函数而不是writeJSON函数?

3 个答案:

答案 0 :(得分:3)

这是原生函数JSON.stringify;标准jQuery不提供它周围的兼容性包装,但浏览器兼容性也不错(可以在IE> = 8以及其他所有内容上工作)。

答案 1 :(得分:1)

您可以使用JSON2库https://github.com/douglascrockford/JSON-js与旧版浏览器兼容。

答案 2 :(得分:0)

最好的方法是在JSON对象中包含polyfill。

但是如果你坚持在jQuery命名空间中创建一个将对象序列化为JSON表示法的方法,你可以这样做:

<强> Serializing to JSON in jQuery