javascript - 从 cookie 中的名称值对获取值

标签 javascript jquery cookies

如果我们的网站上有一个名为 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://json.org/example

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/

相关文章:

javascript - 网页元素的交互式指南?

javascript - 在 <p> 标签中创建文本取决于 <select> 标签,javascript

javascript - JavaScript 如何处理++ 运算符?

cookies - 从服务器到不同域中的 XHR 客户端的 Set-Cookie,将域设置为客户端的域,应该有效吗?

php - Cookie 被设置两次

javascript - PHP 日期输出与 fooTable 中使用 formatString 相同

javascript - Jquery动态表中最接近的输入

javascript - JS自定义进度条

javascript - jQuery 终端 : how to unset mask?

python - 如何使用pickle(python)加载文件夹中的每个文件