这是我的json
{
"id": 1,
"id_cartao": 100000,
"nome": "ewgkjgewkgw",
"email": "qgijqgqg@ewqgijkgh.pt",
"trienio": [
{
"id": 1,
"data_trienio": "2013-2016",
"curso_id": 5,
"oe_id": 1,
"curso": {
"id": 5,
"curso": "TGEI"
}
},
{
"id": 2,
"data_trienio": "2014-2017",
"curso_id": 5,
"oe_id": 1,
"curso": {
"id": 5,
"curso": "TGEI"
}
}
]
}
例如:有两个data_trienio记录(2013-2016和2014-2017),并且我正在设法获取它们,但是每个代码将循环5次,因为trienio数组中有5个属性,所以它分别打印2013-2016和2014年,5次。
如何根据data_trienio记录的实际数量进行循环?我还想为每个data_trienio记录打印相应的curso.curso(tgei)
提前感谢,并提供我的实际代码
$.get('/admin/gerir/oe/getTrienio/' + id_cartao, function(data) {
$.each(data.trienio, function(i, e) {
$.each(e, function(ind, elem) {
console.log(e['curso']['curso']);
console.log(e['data_trienio']);
});
});
});
答案 0 :(得分:0)
你不必第二次循环,一个循环就足够了:
var data = {
"id": 1,
"id_cartao": 100000,
"nome": "ewgkjgewkgw",
"email": "qgijqgqg@ewqgijkgh.pt",
"trienio": [
{
"id": 1,
"data_trienio": "2013-2016",
"curso_id": 5,
"oe_id": 1,
"curso": {
"id": 5,
"curso": "TGEI"
}
},
{
"id": 2,
"data_trienio": "2014-2017",
"curso_id": 5,
"oe_id": 1,
"curso": {
"id": 5,
"curso": "TGEI"
}
}
]
};
$.each(data.trienio, function(i, e) {
console.log("data_trienio : "+e['data_trienio']);
console.log("curso : "+e['curso']['curso']);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
你不需要内循环,我会使用类似的东西:
$.get('/admin/gerir/oe/getTrienio/' + id_cartao, function ( data ) {
for ( var i in data.trienio ) {
// Just access your properties in here e.g:
console.log( data.trienio[i].id );
}
});
答案 2 :(得分:0)
嘿,你只能使用像这样的循环来循环一次
$.get('js/test.json', function(data) {
$.each(data.trienio,function(i,e){
console.log(data.trienio[i]['curso']['curso']);
console.log(data.trienio[i]['data_trienio']);
});
});