【发布时间】:2020-05-21 08:52:28
【问题描述】:
我得到一个这样的 JSON。我想获取 elem tActivitats 并复制到一个数组中:
[
{
"identificador": "A462D996C3DDF4C94A3BF1A23EBF2906",
"num_grup": 1,
"activitats": "1",
"tActivitats": [
{
"mostrIdioma": "S",
"calendariWeb": "S",
"nomActiv": "Visita Museu",
"codiActiv": "1",
"tipus": "S",
"idioma": "0"
}
]
}
]
对于json的每个元素:
var tActivitatsArray = new Array();
$.post('../ServletJson', {
elem: 'accesWeb',
sessionId: "<%=sessionActual%>"
}, function(data) {
$.each(data, function(t, elem) {
//dostuff
tActivitatsArray = elem.tActivitats;
//dostuff
});
});
然后我有一个函数,我在其中传递 elem tActviitatsArray 并尝试迭代并得到错误无法读取未定义的属性“长度”
for (var i = 0; i < tActivitatsArray.length; i++) {
console.log("test" + tActivitatsArray[i].nomActiv);
}
console.log(JSON.stringify(data));
这就是 console.log(JSON.stringify(data));结果:
[
{
"identificador":"1AE2886120F41BBC0F76567993EF76E0",
"num_grup":1,
"activitats":"1",
"horari":"sessio_1_13_1200_0_1345",
"total":8.5,
"num_pers":"3",
"tarifa":"tarifa_1_3_1",
"preu":"8.5#1~0#1",
"butaques":null,
"nomSala":"",
"numerada":"false",
"promo":"",
"referencia":"100249790",
"dataVisita":"22/05/2020",
"combinada":"",
"article":null,
"precioTemp":[
{
"codActiv":"1",
"codTarifa":"1",
"precio":"8.50",
"dtePromo":"0",
"dteEuro":"%",
"total":25.5,
"tipus":"normal"
}
],
"tActivitats":[
{
"mostrIdioma":"S",
"calendariWeb":"S",
"nomActiv":"Visita Museu",
"codiActiv":"1",
"tipus":"S",
"idioma":"0"
}
],
"tTarifa":[
{
"codTarifa":"1",
"nomTarifa":"General"
},
{
"codTarifa":"1",
"nomTarifa":"General"
}
]
},
{
"identificador":"1AE2886120F41BBC0F76567993EF76E0",
"num_grup":2,
"activitats":"1",
"horari":"sessio_1_1_1000_0_1059",
"total":8.5,
"num_pers":"3",
"tarifa":"tarifa_1_3_1",
"preu":"8.5#1~0#1",
"butaques":null,
"nomSala":"",
"numerada":"false",
"promo":"",
"referencia":"100249790",
"dataVisita":"23/05/2020",
"combinada":"",
"article":null,
"precioTemp":[
{
"codActiv":"1",
"codTarifa":"1",
"precio":"8.50",
"dtePromo":"0",
"dteEuro":"%",
"total":25.5,
"tipus":"normal"
}
],
"tActivitats":[
{
"mostrIdioma":"S",
"calendariWeb":"S",
"nomActiv":"Visita Museu",
"codiActiv":"1",
"tipus":"S",
"idioma":"0"
}
],
"tTarifa":[
{
"codTarifa":"1",
"nomTarifa":"General"
},
{
"codTarifa":"1",
"nomTarifa":"General"
}
]
}
]
【问题讨论】:
-
这是
i的任何特定值吗? -
循环的最后一个代码块必须在函数 $.post 内,因为需要在访问数据之前解析承诺
-
大卫是对的。如果由于任何原因无法执行此操作,您可以使用
$.ajax({...async: false...})而不是$.post()快捷方式发出同步请求。
标签: javascript jquery arrays json jsp