我的json中有一个字典列表,我想在angularjs

时间:2016-05-27 10:16:05

标签: javascript angularjs json dictionary

我的json看起来像这样:

[  
{
    "statCount": 5,
    "inceptionStat": [
      {
        "1": "name1",
        "2": "name2",
        "3": "name3",
        "4": "name4",
        "5": "name5"
      }
    ]
  },  
{"statCount": 2,
 "inceptionStat": 
[
      {
        "1": "name1",
        "2": "name2"
      }
    ]
  },  
{
    "statCount": 0,
    "inceptionStat": [
      {}
    ]
  }

]

我想在angularjs中使用inceptionStat数组来创建我所有名字的列表,我尝试了多种方法,但我没有找到一种方法只为每个statCount打印name1,name2等。

我使用了一些javascript来隔离inceptionStat数据:

 $scope.result = $($scope.data).map(function () {
            return this.inceptionStat;
        }).get()
        console.log($scope.result);

$ scope.data这里是整个json数据。

所以从这里开始,我尝试使用ng-repeat从我的不同数组对象创建我的名字列表,但我没有找到正确的方法。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以像这样简单地使用ng-repeat:

<div ng-repeat="dictionary in dictionaries">
  <h4>statcount: {{dictionary.statCount}}</h4>
  <ul>
    <li ng-repeat="(key, value) in dictionary.inceptionStat[0]">{{value}}</li>
  </ul>
</div>

使用JSON:

$scope.dictionaries = [
  {
    "statCount": 5,
    "inceptionStat": [
      {
        "1": "name1",
        "2": "name2",
        "3": "name3",
        "4": "name4",
        "5": "name5"
      }
    ]
  },
  {
    "statCount": 2,
    "inceptionStat": [
      {
        "1": "name1",
        "2": "name2"
      }
    ]
  },
  {
    "statCount": 0,
    "inceptionStat": [
      {}
    ]
  }
];

inceptionStat[0]中包含零,因为inceptionStat是一个对象,而不是一个数组。