循环访问 Express 中的嵌套对象
iterate over nested objects in express
我想知道如何在 express js 中遍历对象。我可以从 json 文件中获取信息,但是一旦我执行循环,它就会一直说它未定义。
我在这里错过了什么,我希望它列出它们。 不过,我将有一个名为 Top 40 的 h2,它将列出 Year.top2011.top40.id.top01 中的所有对象
这里有任何帮助。
我在路由中的索引
lista = JSON.parse(data);
console.log(lista);
res.render('index', {
lista: lista
});
我的索引在视图中
<% JSON.parse(lista).forEach(function(item) { %>
<%- item.Year.top2011.top40.id.top01 %>
<% }; %>
我的 JSON 文件
{
"Year": {
"top2011": {
"top40": {
"id": {
"top01": {
"album_cover": "http://o.scdn.co/image/830a22646bc38f72df95ec98e3ab6bb19aa6074b",
"artist_namn": "Adele",
"song": "Rolling In The Deep",
"spotify": "http://open.spotify.com/track/7h8Ud480Fm4ReUVxgFF9ZX",
"youtube": "http://youtu.be/rYEDA3JcQqw"
},
"top02": {
"album_cover": "http://o.scdn.co/image/215c999786e8319a09b7af87a970c2bdb6747c92",
"artist_namn": "LMFAO",
"song": "Party Rock Anthem",
"spotify": "http://open.spotify.com/track/1CNJyTUh56oj3OCZOZ5way",
"youtube": "http://youtu.be/KQ6zr6kCPj8"
}
}
}
}
}
}
lista
不再是JSON字符串,而是JS对象。这一行:JSON.parse(lista).forEach(function(item)
行不通。您需要遍历lista
:lista.forEach(function(item) {})
首先,结构可以改进:·为什么不将前 40 个条目存储在数组中?
此结构包含top40_entries,每个top40
键数组
内的对象
{"Year": {
"2011": {
"top40": [
{
"pos": "top01",
"album_cover": "http://o.scdn.co/image/830a22646bc38f72df95ec98e3ab6bb19aa6074b",
"artist_namn": "Adele",
"song": "Rolling In The Deep",
"spotify": "http://open.spotify.com/track/7h8Ud480Fm4ReUVxgFF9ZX",
"youtube": "http://youtu.be/rYEDA3JcQqw"
},
{
"pos": "top02",
"album_cover": "http://o.scdn.co/image/215c999786e8319a09b7af87a970c2bdb6747c92",
"artist_namn": "LMFAO",
"song": "Party Rock Anthem",
"spotify": "http://open.spotify.com/track/1CNJyTUh56oj3OCZOZ5way",
"youtube": "http://youtu.be/KQ6zr6kCPj8"
}
]
}
}}
我会使用for
循环(需要时):
var top40_2011 = lista.Year.2011.top40; //get the array
for(var i=0; i<top40_2011.length; i++){
/* Access the values using the keys : */
//console.log(top40_2011[i].pos);
//console.log(top40_2011[i].artist_namn);
//console.log(top40_2011[i].song);
}
注意:请记住,数组从 0 开始,因此 top40 将从 [0] 到 [39];
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 如何打印嵌套对象的所有值
- 设置嵌套对象属性的更好方法
- 嵌套对象结构
- 如何递归地获取嵌套对象中所有子对象的列表
- 更改嵌套对象的父子相关id
- 如何通过json对象数组为嵌套对象赋值
- Ember.js(2.5.0)如何设置嵌套对象值
- 嵌套对象文本访问父级
- 如何对两个嵌套对象进行排序
- 在javascript中使用方括号表示法的嵌套对象
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- 更新嵌套对象的多个字段
- MongoDB嵌套对象数组后查询
- 在流星中插入嵌套对象
- 将嵌套对象数据添加到窗体中
- Chai深度包含了对嵌套对象的断言
- 使用Angular.js解析JSON中的嵌套对象数组
- 如何以编程方式添加到可变嵌套对象中
- Javascript嵌套对象访问根级别