如何使用角度 js 对 JSON 对象进行交互
How to interate over JSON objects with angular js
我有一个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"
}
}
}
我想选择块设备是 bdev0, bdev1...以及它们的值 通常这很容易在原版 javascript 中使用 Object.keys 来完成,但似乎我不能在 angular 中使用这个函数,所以我尝试了 angular.forEach,但它返回未定义。
这是我能走多远
function getData(){
$http.get(path)
.success(function(data){
$scope.devices = data
angular.forEach($scope.devices, function(item){
console.log(item['Block Devices']);
})
})
}
使用下面的代码片段中的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.
})
通过这种方式,您可以访问 bdev0
的值,bdev1
作为回调函数中的设备的值和名称作为key
。
Angular 是一个 JavaScript 框架。任何在原版javascript中工作的东西也可以在这里工作。关于你的问题:你应该像这样迭代:
angular.forEach($scope.devices['Block Devices'], function(value, key){
console.log(key);
})
这将控制台bdev0
、bdev1
等。
相关文章:
- 通过服务与多级对象交互
- 无法与使用 jquery 追加添加的 dom 对象进行交互
- 在没有交互的情况下更改对象的样式
- 如何使用角度 js 对 JSON 对象进行交互
- 了解 knockout 如何通过 push.apply 与 javascript 对象交互
- Ajax,JSON对象与php的交互
- 如何正确地与对象内部的父函数/对象交互
- 使用Javascript创建虚拟交互对象
- Javascript对象交互(OOP)
- 通过Javascript对复杂JSON对象进行交互的最简单方法
- 小程序和对象标记JSP交互
- 如何在立方体对象中交互子对象
- 如何在HTML5对象或iframe中禁用用户交互/活动
- JavaScript Image对象如何与浏览器缓存交互
- 我如何在three.js中与场景中的对象进行交互
- 在显示JSON对象之前与它交互
- 在聚合物中使用元素之间的交互作用向数组中添加一个对象
- 与Javascript对象交互,其中键为数字日期/时间
- 如何触发交互.js事件/将所有可拖动对象恢复到默认位置(x : 0 , y : 0 )
- 使用JavaScript与对象进行交互