使用AngularJS使用数组解析JSON文件
我不知道如何在AngularJS的帮助下迭代这个JSON数据使用AngularJS使用数组解析JSON文件,json,angularjs,angularjs-ng-repeat,arrays,Json,Angularjs,Angularjs Ng Repeat,Arrays,我不知道如何在AngularJS的帮助下迭代这个JSON数据 { { "1590": { "id": "1590", "id_site": "0", "id_merk": "7", "id_type": "209", "uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW" }, { "1590": { "i
{
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
},
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
}
}
这就是我现在在Angular应用程序中的内容:
服务:
看法
当前该视图未显示任何结果。我不知道如何处理数组中的不同对象
任何帮助都将不胜感激。您不能在JSON上迭代,因为它不是表示为数组而是表示为对象 设置大括号,如:
[
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
}
},
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
}
}
]
第二个选项是关键值表示:
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
},
"1591": {
"id": "1591",
"id_site": "0",
"id_merk": "7",
"id_type": "201",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 142kW"
}
}
所以HTML应该是这样的:
<select data-ng-model="selectedItem"
data-ng-options="key as value.uitvoering for (key , value) in brands">
<option value="">-- Selecteer een merk --</option>
</select>
看
助手
您可以使用此联机帮助程序:我为您编写了一个示例:
首先,您提供的json不是有效的json。根据结构,您可能必须在ng选项中更改表达式。然后,我建议您将$http承诺返回给controller,并在执行ajax之后解析结果。最后,将结果渲染到select元素。我希望这对你有帮助。如果您想了解select选项的更多细节,还可以查看api文档。与{{}的json看起来不一样,您是否正确编写了json的外观?是的,这实际上是我从服务器请求json时json的外观。所以我不能自己改变输出。
{
"1590": {
"id": "1590",
"id_site": "0",
"id_merk": "7",
"id_type": "209",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 147kW"
},
"1591": {
"id": "1591",
"id_site": "0",
"id_merk": "7",
"id_type": "201",
"uitvoering": "Blue Lease Execut. HYbrid4 2.0 HDi 4D 142kW"
}
}
<select data-ng-model="selectedItem"
data-ng-options="key as value.uitvoering for (key , value) in brands">
<option value="">-- Selecteer een merk --</option>
</select>