如果我们的网站上有一个名为cabbages的cookie,$.cookie("cabbages")
会返回:
"purchaseType":"NONE","futurePurchaseType":"NONE","id":73041988,"unlimitedStatus":null,"hasFuturePrivilege":false,"corpUser":false,"suspendedStatus":null,
获取id值的规定或传统方法是什么?我想要访问者的ID,所以在这个例子中我想写一些返回73041988的Javascript。
答案 0 :(得分:1)
cabbages
cookie的内容与我的json对象语法非常接近。所以JSON.parse()
自然会像我一样。您只需要向该字符串添加花括号以使其成为有效的json对象语法。
实际上这与cookie无关。如果任何变量包含具有与此类似的语法的数据,您始终可以使用JSON.parse()将其提取到javascript变量中。
Json对象看起来像:
{name1:value1,name2:value2,name3:value3}
类似地,json数组看起来像:
[value1,value2,value3]
你可以将JSON.parse用于任何有json sytax的数据。
您可以在下面的链接中看到一些更好的JSON语法示例。
http://www.tutorialspoint.com/json/json_syntax.htm
请注意,在javascript 中为json序列化提供本机支持的JSON API可能在某些旧版浏览器中不可用,并且函数调用将失败。
正如您在问题中提到$.cookie()
,我猜您的项目已经在使用JQuery。因此,您最好使用jQuery.parseJSON(),它使用浏览器提供本机实现的JSON.parse
,并在浏览器支持不可用时提供后备解析器。
This Stack Overflow thread在浏览器中提供了有关Native JSON support的更多详细信息。