首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >循环遍历从cookie返回的JSON对象

循环遍历从cookie返回的JSON对象
EN

Stack Overflow用户
提问于 2014-07-14 15:19:31
回答 1查看 838关注 0票数 0

我知道有很多关于这方面的问题,但我尝试了几种不同的解决方案,并得到了相同的结果。

我正在以timeArr = [ event-name-one: 0: 1404915600, 1: 1404917400 ]格式将复选框值存储在数组中。当使用新的键/值对更新数组时,会更新cookie,它将数组存储为JSON对象。

我使用jQuery.cookie('day', JSON.stringify(timeArr), {expires: 7});将JSON对象存储在cookie中,它以以下格式存储数组(从console.log();返回):

{"event-name-one":{"0":1405346400,"1":1405347600},"event-name-two":{"0":1405357200,"1":1405358400}}

在本例中,event-name-oneevent-name-two是复选框的ID。我需要循环遍历返回的cookie值(JSON对象),并选中在返回的cookie中找到ID的复选框。

我尝试了几个不同的循环,即for(var k in cookieValue){}jQuery.each(jQuery.parseJSON(cookieValue), function(i, v) {});,但没有运气。

for(var k in cookieValue)循环分别返回对象的每个字母,jQuery.each()循环返回以下错误:Cannot use 'in' operator to search for '76' in ...

如何将这个JSON字符串转换回数组,以便循环遍历它并获得“键”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-14 15:42:51

jQuery.cookie()必须自动将数组串成JSON对象,因为为了从循环中获得正确的结果,我必须对响应使用jQuery.parseJSON()两次。

示例:

代码语言:javascript
复制
var cookieVal = jQuery.cookie('day_planner');
jQuery.each(jQuery.parseJSON(jQuery.parseJSON(cookieVal)), function(i, v) { 
    console.log(i, v); 
});

此循环返回event-name-one Object {0: "1405346400", 1: "1405347600"}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24739935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档