簡體   English   中英

遍歷 JSON 對象

[英]Iterating over JSON object

我在 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 的值。

提前致謝

我不確定我是否正確理解你,但我認為你應該使用

cookieValue[key]["PageID"]

一起:

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

如果您只想訪問每個條目中 PageId 的值,您可以在此處查看示例:

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



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

JSFIDDLE

使用 javascript 數組操作數據以簡化代碼。

一種應該適合您的方法:

  • 使用以下命令將您的 JSON 轉換為 javascript 數組:

var mycookieArray = JSON.parse(cookieValue);

  • 遍歷它:

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

看來您需要通過 PageId 獲取對象。 這是一個函數

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM