我知道有很多关于这方面的问题,但我尝试了几种不同的解决方案,并得到了相同的结果。
我正在以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-one和event-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字符串转换回数组,以便循环遍历它并获得“键”
发布于 2014-07-14 15:42:51
jQuery.cookie()必须自动将数组串成JSON对象,因为为了从循环中获得正确的结果,我必须对响应使用jQuery.parseJSON()两次。
示例:
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"}
https://stackoverflow.com/questions/24739935
复制相似问题