AngularJS ng-repeat从JSON获取数据

时间:2016-05-30 20:52:56

标签: angularjs json

我从ng-repeat获取数据时遇到了问题。

<tr ng-repeat="x in records">
    <td>{{x.id}}</td>
    <td>{{x.title}}</td>
    <td>{{x.year}}</td>
    <td>{{x.note}}</td>
</tr>

{{x.id}}是我想从JSON获得的tt0013158

这是JSON:

{"result":{
    "tt0013158":{
        "note":"",
        "title":"The Frozen North",
        "year":"1922"
    },
    "tt1605783":{
        "note":"",
        "title":"Midnight in Paris",
         "year":"2011"
    }
}}

我可以正确地获得笔记,标题和年份。但是如何从JSON中获取id(例如tt0013158)?

3 个答案:

答案 0 :(得分:3)

javascript(或angular)中没有概念,上面示例中的tt0013158将是对象的id。它只是地图中的一个关键。

我相信这应该可以解决问题:

<tr ng-repeat="(key, x) in records.result">
    <td>{{key}}</td>
    <td>{{x.title}}</td>
    <td>{{x.year}}</td>
    <td>{{x.note}}</td>
</tr>

答案 1 :(得分:1)

您需要使用(键,值)语法:

<tr ng-repeat="(key, value) in data in records.result">
    <td>{{key}}</td>
    <td>{{value.id}}</td>
    <td>{{value.title}}</td>
    <td>{{value.year}}</td>
    <td>{{value.note}}</td>
</tr>

答案 2 :(得分:0)

您可以使用以下方法迭代ng-repeat

<tr ng-repeat="item in records">
<td>{{item.id}}</td>
<td>{{item.note}}</td>
<td>{{item.title}}</td>
<td>{{item.year}}</td>
</tr>