簡體   English   中英

使用node.js獲取特定的JSON對象

[英]Get specific JSON object with node.js

我希望能夠鍵入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
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
    });
});

您可能需要在路線中添加參數

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];
      }
   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM