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