Как можно распечатать список с помощью JSON? - PullRequest
1 голос
/ 04 ноября 2019

Мне нужно распечатать вещи в формате json в виде списка, который выглядит следующим образом:

{
  "attendees": [
    "Kevin Tyler",
    "Syeda Shyra",
         ]
}

Но на данный момент у меня есть:

{
    "attendees": [
        {
            "attendee": "Kevin Tyler"
        },
        {
            "attendee": "Syeda Shyra"
        }
    ]
}

Я печатаюэто с этим:

res.json({attendees: response.rows});

Моя база данных ниже:

  attendee   |      workshop      
-------------+--------------------
 Ann Nowicki | React Fundamentals
 Ann Nowicki | TensorFlo
 Kevin Tyler | Biology 101
 Syeda Shyra | Biology 101

Как я могу сделать это, где он не перечисляет посетителей для каждого человека, а вместо этого говорит, что посетители только один разв начале?

Если вам это нужно, вот еще мой код:

 30 app.get("/api", async (req,res) => {
 31 
 32 
 33         try {
 34                 // if there is an argument
 35                 // else there isn't
 36 
 37                 // find attendee
 38                 const template = "SELECT attendee FROM people WHERE workshop =$1";
 39                 const response = await pool.query(template, [req.query.workshop]);
 40 
 41                 console.log(response);
 42                 // can print
 43                 if (req.query.workshop!=null) {
 44                         if (response.rowCount!=0) {
 45                                   res.json({attendees: response.rows});
 46                          } else {
 47                                 res.json({"error": "workshop not found"});
 48                         }
 49 
 50                 } else {
 51                         const resp = await pool.query("SELECT workshop FROM people");
 52                         res.json({workshops: resp.rows});
 53                 }
 54 
 55 
 56         } catch (err) {
 57                 console.error("whoops " + err);
 58                 res.json({status:"error"});
 59         }
 60 
 61 
 62 });

1 Ответ

1 голос
/ 04 ноября 2019

Вам необходимо развернуть содержимое каждого row. Используйте функцию map для достижения этой цели. Документы .

res.json({attendees: response.rows.map(a=>a.attendee)});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...