AngularJS:如何获得JSON对象的关键

我不确定这与AngularJS有什么关系,只是与JSON相关。

总之,让我们说,我们有以下的JSON:

$scope.dataSets = { "names": ["Horace", "Slughorn", "Severus", "Snape"], "genders": ["Male", "Female"] } 

现在,我正在使用ng-repeat指令来打印上面的内容,如下所示:

 <div ng-repeat="data in dataSets> //Continue readig to know what I am expcting here </div> 

我期望在<div></div>标签内打印“名称”和“性别”。 也就是说,我希望打印JSON的键。 我不知道钥匙是什么,因为它们可以是任何东西。 我怎样才能做到这一点?

正如文件所述:

(键,值)在expression式中 – 其中键和值可以是任何用户定义的标识符,expression式是给出集合枚举的范围expression式。

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

用于在AngularJs中从内部控制器访问Json键值对。

 for(var keyName in $scope.dataSets){ var key=keyName ; var value= $scope.dataSets[keyName ]; alert(key) alert(JSON.stringify(value)); } 

如果dataSets是一个数组,而不是一个对象,你首先需要重复数组项,然后键或值。

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

只是我2美分。

对于dataSet中的每个dataSet,打印该键,然后遍历各个项目:

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

{{dataset}}也可以一次显示,数组将显示为逗号分隔值列表。