我需要处理来自ajax调用的一些数据并填写JSON对象。 我在定义正确的循环时遇到了问题。
我定义了这个变量
var reportData = {
"offerta": {
"codice": offerta_corrente,
"data": "",
"oggetto": ""
},
"cliente": {
"societa": "",
"indirizzo": "",
"cap": "",
"citta": "",
"provincia": ""
},
"sconti_totale": {
"sconto1": sconto1,
"sconto2": sconto2,
"sconto3": sconto3
},
"zone": [],
};
然后从ajax调用我得到了这个数据:
[{
"customer": [{
"codcli": "CL0002",
"societa": "ACME s.r.l",
"indirizzo": "via S. Giovanni, 100",
"citta": "",
"provincia": "",
"cap": "",
"paese": ""
}],
"rows": [{
"zona": "Area vendita",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "2",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "514.8",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}, {
"zona": "Area vendita",
"codET": "PED-40-50000",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "2",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "514.8",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}, {
"zona": "Area magazzino",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "1",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "257.4",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}, {
"zona": "Area vetrina",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "1",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "257.4",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}]
}]
我用data [0] .rows提取了行数组,但是我无法构建循环来转换和构建这个最终的JSON对象
{
"offerta": {
"codice": "2017-00007",
"data": "",
"oggetto": ""
},
"cliente": {
"societa": "ACME s.r.l",
"indirizzo": "via S. Giovanni, 100",
"cap": "",
"citta": "",
"provincia": ""
},
"sconti_totale": {
"sconto1": "0.00",
"sconto2": "0.00",
"sconto3": "0.00"
},
"zone": [{
"nome": "Area vendita",
"items": [{
"zona": "Area vendita",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "2",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "514.8",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}, {
"zona": "Area vendita",
"codET": "PED-40-50000",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "2",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "514.8",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}]
}, {
"nome": "Area magazzino",
"items": [{
"zona": "Area magazzino",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "1",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "257.4",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}]
}, {
"nome": "Area vetrina",
"items": [{
"zona": "Area vetrina",
"codET": "PED-40-10102",
"descET": "PEDANA ESP. CON PIANO IN LAMIERA ALL. MANDORLATO",
"L": "100",
"P": "100",
"H": "25",
"codfinET": "---",
"descfinET": "grezzo",
"umET": "NR",
"qty": "1",
"PrezzoSingolo": "257.4",
"PrezzoTotale": "257.4",
"Sconto1": "0",
"Sconto2": "0",
"Sconto3": "0"
}]
}]
}
我对循环来填充JSON对象的“区域”部分感兴趣。
这是我正在处理的一段没有任何好结果的代码......请帮助我以正确的方式前进。
for (index = 0; index < data[0].rows.length; ++index) {
if (data[0].rows[index].zona != currzona) {
if (index > 0) {
newzona.push(curr_items)
};
// aggiungo l'elemento zona
var newzona = reportData.zone.push({
"nome": data[0].rows[index].zona
});
// aggiungo il nodo dell'articolo
var curr_items = new Array();
}
curr_items.push(data[0].rows[index]);
currzona = data[0].rows[index].zona;
console.log(currzona);
}