在角度js中获取嵌套的JSON对象

时间:2014-09-30 10:33:13

标签: html json angularjs nested

我有一个AngularJS水疗中心,想要从JSON中获取文件,到目前为止效果还不错。

var app = angular.module("MyApp", []);

app.controller("TodoCtrl", function($scope, $http) {
  $http.get('todos.json').
    success(function(data, status, headers, config) {
      $scope.posts = data;
    }).
  error(function(data, status, headers, config) {
    alert("Error");
  });
});

并绑定它以重复列表。

<ul ng-repeat="post in posts">
  <li>
    <b>Name : </b> {{post.name}} <br>
    <b>Adress/street :</b> {{post.address.street}}
  </li>
</ul>

我的问题是,如果我在JSON中嵌套了另一个对象怎么办?

"adress": [
  {
    "street": "somewhat street",
    "town": "somewhat town"
  }]

我的尝试post.adress.street不起作用。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

由于address是一个数组,因此您有2个选项。

第一个选项:

使用数组表示法仅访问数组中的一个项目。例如:

<ul ng-repeat="post in posts">
  <li>
    <b>Name : </b> {{post.name}} <br>
    <b>Adress/street :</b> {{post.address[0].street}}
  </li>
</ul> 

第二个选项:

使用另一个address

迭代所有ng-repeat个项目
<ul ng-repeat="post in posts">
  <li>
    <b>Name : </b> {{post.name}} <br>
    <div ng-repeat="address in post.address">
      <b>Adress/street :</b> {{address.street}}
    </div>
  </li>
</ul>