JSON:
{
"json": {
"response": {
"servicetype": "1",
"functiontype": "10011",
"statuscode": "0",
"statusmessage": "Success",
"data": {
"unassignedroles": [
{"roleid":"1",
"roleinformation": {
"QA": [
{
"White Box Testing": 0
},
{
"Black Box Testing": 10
}
]
}
},
{
` "roleid":"2"`,
"roleinformation": {
"1": [
{
"A": 0
}
]
}
},
{
"roleid":"3",
"roleinformation": {
"D": [
{
"B": 0
}
]
}
}
]
}
}
}
}
我需要将密钥作为表格中的值传递。我存储了$scope.roleInfo = response.json.data.unassignedRoles[i].roleinformation;
现在从那个$scope.roleInfo
,我有
QA [
{
"White Box Testing": 0
},
{
"Black Box Testing": 10
}
]
如何根据所选的roleid动态地在表中提供Key QA,White Box Testing和Black Box测试。对于每个角色ID,我将使用不同的密钥名称。
答案 0 :(得分:0)
在您的示例中,roleInformation
子对象(因此$scope.roleInfo
对象)只有一个键,所以如果您这样做:
for (i in $scope.roleInfo)
console.log(i) // i == "QA"
“循环”只会运行一次,您可以提取所需的值。
所以同样的方式,你可以
<tr ng-repeat="(key, value) in roleInfo">
<td>{{ key }}</td>
<td ng-repeat="details in value">
<p ng-repeat"(subkey, subvalue) in details">{{ subkey }} : {{ subvalue }}</p>
</td>
</tr>
答案 1 :(得分:0)
将您的JSON分配给范围对象,并按以下方式对其进行迭代。
angular.forEach($ scopeObject,function(value,Key){ }
你会得到&#34; Key&#34;迭代发生时。 通过这种方式,您可以过滤&#34;键&#34;来自JSON列表。