我是AngularJS的新手,我正在努力学习如何深入了解对象内部有对象甚至数组的JSON对象。这是我正在使用的“简化”版本,我希望它能帮助我获得基本的理解,所以我可以自己完成其余的工作。
JSON
* styles top blue navigation bar */
.topBarSymbols{
position:relative;
z-index:2;
margin:0 auto;
top:0px;
width:100%;
height:12%;
background-color:#1735E3;
color:#ffffff;
}
/* styles help icon on top right */
.nav #helpSymbols img {
display: block;
left:78%;
height:9%;
top:2%;
}
/* styles position of logo */
.nav #logoSymbols img {
display: block;
height: 9%;
left:5%;
top:2%;
}
/* styles position of the title of the page represented as an image */
.nav #titleSymbols img {
display: block;
left:140px;
height: 9%;
top:2%;
left:42%;
}
码
values = {
"profile": {
"fields": {
"number-of-fields": "700",
"inside": [
"test1",
"test2"
],
"type": "test",
"values": "450"
}
},
"id": "12312312333645"
}
答案 0 :(得分:1)
基础知识
使用点.
遍历对象属性,使用索引引用遍历数组索引[0|1|2|etc.]
。
你的对象怎么样?
var yoObject = {
"profile": {
"fields": {
"number-of-fields": "700",
"inside": [
"test1",
"test2"
],
"type": "test",
"values": "450"
}
},
"id": "12312312333645"
}
获取内部值:
// object object object array
yoObject.profile.fields.inside.map(console.log, console) // ["test1", "test2"]
获取ID:
// object property
yoObject.id // "12312312333645"
获取字段对象的所有属性:
Object.keys(yoObject.profile.fields) // ['number-of-fields', 'inside', 'type', 'values']
从上面获取所有属性值:
fields = yoObject.profile.fields
Object.keys(fields).map(key => console.log(fields[key])) // ["700", ["test1", "test2"], "test", "450"] // Note: Order isn't guaranteed
玩弄东西吧。将对象抛出控制台并开始手动遍历它。然后尝试循环。
玩得开心!
注意:我没有测试过! :P
这是关于在JSON中深入循环的正确方法的问题 对象 - @ user2402107
没有正确的方式。有时您需要完全动态,有时您可以将路径硬编码为嵌套属性和值。
小提琴-,扭
根据需要多次嵌套:
angular.forEach(values, (value, key) => {
console.log("Value for", key, ":", value);
angular.forEach(value, (value, key) => {
console.log("Value for", key, ":", value);
angular.forEach(value, (value, key) => {
console.log("Value for", key, ":", value);
})
})
});
答案 1 :(得分:0)
您可以将整个对象记录到控制台。通过使用F12工具,您可以在浏览器中浏览对象。
console.log(objectName);
答案 2 :(得分:0)
angular.forEach适用于数组。假设你有一个对象数组,这个
var values = [{
"profile": {
"fields": {
"number-of-fields": "700",
"interpertation": [
"whenever this is ready"
],
"type": "test",
"values": "450"
}
},
"id": "12312312333645"
},
{
"profile": {
"fields": {
"number-of-fields": "700",
"interpertation": [
"whenever this is ready"
],
"type": "test",
"values": "450"
}
},
"id": "12312312333645"
}]
您可以像这样探索每个对象及其属性
angular.forEach(values, function(value, key) {
console.log(value.profile.fields.values);
});
您可以使用.
表示法来访问属性