从JSON响应

从JSON响应

问题描述:

JSON以密钥值:从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 
      } 

      ] 

如何动态地根据所选择的角色ID给予重点QA,白盒测试和表黑盒测试。对于每个角色ID,我将拥有不同的密钥名称。

+0

你想在一个表中显示这些? – Hmahwish

+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> 
+0

您好,感谢您的帮助,但它适用于只需一个键就更换其他关键,如果我有两个值而且这个html代码不工作。我试了一下。 –

将您的JSON到的范围对象,并重复它在每个如下。

angular.forEach($ scopeObject,函数(值,键){}

您将获得的 “钥匙”,而反复发生。 通过这种方法可以过滤来自JSON列表中的 “关键”。

+0

可以请给我任何例子,我对此有点新。 –