[英]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.