我正在尝试通过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 个...
您可以使用一个,因为数据是您所知道的结构。
注意:我可能假设 JSON 中的语法错误只能有一个对象"每个 id"原因。 :)
如果您不知道数组中只有一个项目,则需要迭代每个数组(因此 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
}
}