我必须处理一个JSON文件。
In JSON BLOCAGES ->BLOCAGE祝辞我必须检索QTE
和DTE
。
这是我文件JSON
我的问题是,我显示QTE
和DTE
一次。
现在,我有这个=>输入图片描述
我想得到这个结果=>输入图片描述
我错过了数组元素[1]
和[2]
,我怎么能从循环中添加它们?
<这是我方法strong>prepareDataForBlocage ()
prepareDataForBlocage(response) {
this.spinners.blockDetails = false;
if (response['RETURNCODE'] == "OKK00") {
let [variable1] = response['BLOCAGES']['BLOCAGE'];
this.statusLine = {
quantity: variable1['QTE'],
update: variable1['DAT'],
};
}
}
我HTML
<table class="table table-striped">
<tr style="background-color: #f8f9fa; font-weight: bold;">
<td style="width: 13%;">Quantity</td>
<td style="width: 13%;">Reason</td>
<td style="width: 13%;">Date</td>
<td style="width: 13%;">Référence</td>
</tr>
<tr *ngIf="statusLine.quantity != 0" >
<td>
{{statusLine.quantity | number:'1.2-2' }}
</td>
<td></td>
<td>
{{statusLine.update | dateddmmyyyy }}
</td>
<td>
</td>
</tr>
</table>
我在你的代码中看到两个问题
第一:
let [variable1] = response['BLOCAGES']['BLOCAGE'];
/// is the same as
let variable1 = response['BLOCAGES']['BLOCAGE'][0];
/// That means you only get the first element of your list
第二点是不要在模板中遍历数组。
你可以试试这样写:
this.myList = response['BLOCAGES']['BLOCAGE']
.filter(blocage => blocage['QTE'] != 0)
.map(blocage => ({
quantity: blocage['QTE'],
update: blocage['DAT'],
}));
<tr *ngFor="let elem of myList" >
<td>
{{elem.quantity | number:'1.2-2' }}
</td>
<td></td>
<td>
{{elem.update | dateddmmyyyy }}
</td>
<td>
</td>
</tr>