如何使用角度js对JSON对象进行交互

Imo*_*Imo 1 javascript json angularjs

我有一个JSON结构如下

var myJson = {
   "Number of Devices":2,
   "Block Devices":{
      "bdev0":{
         "Backend_Device_Path":"/dev/ram1",
         "Capacity":"16777216",
         "Bytes_Written":9848,
         "timestamp":"4365093970",
         "IO_Operations":87204,
         "Guest_Device_Name":"vdb",
         "Bytes_Read":107619,
         "Guest_IP_Address":"192.168.26.88"
      },
      "bdev1":{
         "Backend_Device_Path":"/dev/ram2",
         "Capacity":"16777216",
         "Bytes_Written":10062,
         "timestamp":"9365093970",
         "IO_Operations":93789,
         "Guest_Device_Name":"vdb",
         "Bytes_Read":116524,
         "Guest_IP_Address":"192.168.26.100"
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

我想选择块设备bdev0,bdev1 ...以及它们的值通常这很容易使用vanilla javascript中的Object.keys但似乎我不能在角度使用此函数所以我尝试angular.forEach但它返回undefined.

这是我能走多远

function getData(){
  $http.get(path)
  .success(function(data){
    $scope.devices = data
    angular.forEach($scope.devices, function(item){
                   console.log(item['Block Devices']);
               })


  })
}
Run Code Online (Sandbox Code Playgroud)

And*_*yko 5

使用forEach如在下面的代码段访问所需性质:

angular.forEach($scope.devices['Block Devices'], function(value, key) {
   console.log(value, key);
   // Would log value of $scope.devices['Block Devices'][key]
   // and key name which is 'bdev0', 'bdev1' etc.
})
Run Code Online (Sandbox Code Playgroud)

这样,你就可以访问的价值bdev0,bdev1因为价值和名称设备作为 key在回调函数.