[英]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"]);
}
使用 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.