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}}也可以一次显示,数组将显示为逗号分隔值列表。