如何使用ng-repeat在Angular JS中显示json响应值

时间:2015-07-08 09:05:10

标签: javascript json angularjs

我正在尝试以正确的顺序显示特定JSON的值。我的JSON看起来像:

{
"A":[{"id":"21","name":"Andrea"},{"id":"22","name":"Apple"}],
"B":[{"id":"21","name":"Baby"},{"id":"22","name":"Bali"}],
"C":[{"id":"21","name":"Candle"},{"id":"22","name":"Canada"}],
}

如何使用ng-repeat显示值:

<div ng-repeat="item in items">

</div>

喜欢:

A

安德烈

苹果

婴儿

巴利

C

蜡烛

加拿大

4 个答案:

答案 0 :(得分:4)

请查看工作示例:http://plnkr.co/edit/lqoQvmXnimWYzqVU0wkg?p=preview

HTML

<div ng-repeat="(key, values) in items">
  {{key}}
  <div ng-repeat="item in values">
    {{item.name}}
  </div>
</div>

答案 1 :(得分:1)

您可以使用以下内容迭代对象:

<div ng-repeat="(key, value) in jsonData">
   {{key}}
   <div ng-repeat="item in value">
      <div>{{item.name}}</div>
   </div>
</div>

编辑:我看到其他人添加了jsfiddle所以尽情享受:)

答案 2 :(得分:1)

如果您的数据是这样的:

$scope.items={
"A":[{"id":"21","name":"Andrea"},{"id":"22","name":"Apple"}],
"B":[{"id":"21","name":"Baby"},{"id":"22","name":"Bali"}],
"C":[{"id":"21","name":"Candle"},{"id":"22","name":"Canada"}],
}

将item视为map并在map中迭代(key,value),该值将与List相关联。并再次迭代值列表中的列表 -

<div ng-repeat="(key,value) in items">
     {{key}}
     <div ng-repeat="item in value">
       {{item.name}}
     </div>
</div>

答案 3 :(得分:0)

试试这个plunker

您也打印了json的key,因此您应该使用&#39;(键,值)&#39;在ng-repeat中也可以获得关键值。

代码:

<div ng-repeat="(key,value) in data">
   {{key}}
    <div ng-repeat="item in value">
      {{item}}
    </div>
</div>