我试图通过foreach访问每个对象...而且我不知道究竟是多少因为json数组是一个具有一定数量记录的键,然后是另一个具有其他值的键如果你注意到,还有一种颜色。如何在json中显示颜色?我需要在我的页面上。
这是我的json:
{
"7": [{
"idType": 0,
"nrReq": 41,
"dataD": "2017-05-14",
"typeC": "CO",
"startDate": "2017-05-16",
"endDate": "2017-05-17",
"dataA": "2017-05-14",
"color": "000080"
}, {
"idType": 0,
"nrReq": 42,
"dataD": "2017-05-14",
"typeC": "CM",
"startDate": "2017-05-23",
"endDate": "2017-05-24",
"dataA": "2017-05-18",
"color": "000080"
},
"8": [{
"idType": 0,
"nrC": 53,
"dataD": "2017-05-20",
"typeC": "CO",
"startDate": "2017-05-23",
"endDate": "2017-05-23",
"dataA": "2017-05-20",
"color": "ffd9b3"
}],
"25": [{
"idType": 0,
"nrC": 51,
"dataD": "2017-05-23",
"typeC": "CP",
"startDate": "2017-05-29",
"endDate": "2017-05-30",
"dataA": "2017-05-20",
"color": "ff6600"
}]
}
它应该怎么样?我认为它应该是2个foreachs ......
答案 0 :(得分:0)
你可以使用一个,因为数据是你知道的结构。
注意:我可能认为只有一个对象"每个ID" JSON中语法错误的原因。 :)
如果,你不知道数组中只有一个项目,你需要迭代每个数组(所以2个循环)。
var data = {
"7": [{
"idType": 0,
"nrReq": 41,
"dataD": "2017-05-14",
"typeC": "CO",
"startDate": "2017-05-16",
"endDate": "2017-05-17",
"dataA": "2017-05-14",
"color": "000080"
}],
"8": [{
"idType": 0,
"nrC": 53,
"dataD": "2017-05-20",
"typeC": "CO",
"startDate": "2017-05-23",
"endDate": "2017-05-23",
"dataA": "2017-05-20",
"color": "ffd9b3"
}],
"25": [{
"idType": 0,
"nrC": 51,
"dataD": "2017-05-23",
"typeC": "CP",
"startDate": "2017-05-29",
"endDate": "2017-05-30",
"dataA": "2017-05-20",
"color": "ff6600"
}]
};
for (var id in data) {
if (data.hasOwnProperty(id)) {
console.log(data[id][0].color); // etc
}
}