我希望能够键入localhost:3000 / courses / 1,并且能够从id:1中仅显示json文件中的对象。
我有一个到这样的网站课程的路径,它在视图中显示我的JSON文件,当我按它应该循环它时。 js:json是我需要的JSON文件。
app.get('/courses', function(req, res) {
res.render('courses', {
title: "Hello",
name: "Fredrik",
js: json
});
});
[
{
"id":1,"courseId":"DT162G","courseName":"Javascript-baserad webbutveckling","coursePeriod":1
},
{
"id":2,"courseId":"IK060G","courseName":"Projektledning","coursePeriod":1
},
{
"id":3,"courseId":"DT071G","courseName":"Programmering i C#.NET","coursePeriod":2
}
]
但是当我输入localhost:3000 / courses / 1或/ 2或/ 3时,如何制作一条只显示JSON文件的一个特定部分的路径?
因此视图看起来像这样..
"id":1,"courseId":"DT162G","courseName":"Javascript-baserad webbutveckling","coursePeriod":1
答案 0 :(得分:1)
app.get('/courses/:id', function(req, res) {
res.render('courses', {
title: "Hello",
name: "Fredrik",
js: req.params.id !== undefined ? json.filter(function(obj) {return obj.id== req.params.id};}) : json
});
});
答案 1 :(得分:0)
您可能需要在路线中添加参数
app.get('/courses/:id', function(req, res) {
res.render('courses', {
title: "Hello",
name: "Fredrik",
js: getData(req.params.id)
});
});
然后是一个返回对象的简单函数
function getData (id) {
if(typeof id == "undefined") {
return json;
}
for(var i in json) {
if(json[i].id == id) {
return json[id];
}
}
}