迭代JSON对象

时间:2015-10-20 10:33:40

标签: javascript arrays json cookies

我在json对象中遇到麻烦。 我目前正在保存cookie中某个网页的表属性。 cookie的值是我序列化的对象数组。 具有2个条目的数组的典型值类似于:

cookieValue=["{ "PageID": "1391", "PageSize": "100"}", "{ "PageID": "2341", "PageSize": "50"}"]

我的问题是现在迭代这个数组。我希望能够检查是否有任何重复的条目来更新其PageSize(如果适用)或读取它以便在用户返回同一页面时设置页面大小。

到目前为止我已尝试过这个:

for (var key in cookieValue) {
   if(cookieValue.hasOwnProperty(key) ){
      console.log(key + " -> " + cookieValue[key]);
   }
}

给我输出如下:

0 -> { "PageID": "1391_tabela", "PageSize": "100"}
1 -> { "PageID": "1391_tabela", "PageSize": "50"}
2 -> { "PageID": "1391_tabela", "PageSize": "10"}

我的问题是如何在每个条目中访问PageID的值。

提前致谢

4 个答案:

答案 0 :(得分:2)

我不确定我是否理解正确,但我认为你应该使用

cookieValue[key]["PageID"]

一起:

for (var key in cookieValue) {
   if(cookieValue.hasOwnProperty(key) ){
      console.log(key + " -> " + cookieValue[key] + " -> " + cookieValue[key]["PageID"]);
   }
}

答案 1 :(得分:0)

如果您只想在每个条目中访问PageId的值,可以在此处查看示例:

var cookieValue=[{ "PageID": "1391", "PageSize": "100"}, { "PageID": "2341", "PageSize": "50"}];



for (key in cookieValue) {
alert(cookieValue[key]["PageID"]);
}

JSFIDDLE

答案 2 :(得分:0)

使用javascript数组操作数据,以便更轻松地编写代码。

应该适合您的一种方式:

  • 使用以下方法将您的JSON转换为javascript数组:

var mycookieArray = JSON.parse(cookieValue);

  • 通过以下方式迭代:

    for(String s:myCookieArray)   {     的console.log(s.PageID);   }

答案 3 :(得分:0)

您似乎需要通过PageId获取对象。这是一个函数

function getPageById(pageId) {
     for (var pageObj in cookieValue) {
          if (pageObj.PageId === pageId)
               return pageObj;
     }
}
相关问题