gpt4 book ai didi

javascript - Express JS 以 JSON 格式显示所有事件

转载 作者:行者123 更新时间:2023-12-03 04:24:24 24 4
gpt4 key购买 nike

var Jsonresult = {};
app.get('/trips', function(req1, res1) {
for (var i = 0; i < events.length; i++) {
var event = events[i];
var start = event.start.dateTime || event.start.date;
console.log('%s - %s', start, event.summary);
Jsonresult.event = event.summary;
Jsonresult.datetime = start;
res1.json([Jsonresult]);
}
res1.end();
}

我正在从 Google 日历获取事件。在控制台中显示所有事件,但在 POSTMAN 中仅显示一项数据。我想以 json 格式获取所有结果,但我只从 forloop 中获得一个结果。请帮助我。

我期待这样的结果:

[{
"event": "Daily Meeting",
"datetime": "2017-04-25T10:00:00+05:30"
},
{
"event": "Daily Call",
"datetime": "2017-06-26T10:00:00+05:30"
},
{
"event": "Office Meeting",
"datetime": "2017-05-27T10:00:00+05:30"
}]

但它在 POSTMAN 中只显示一个结果,例如:

[{
"event": "Daily Meeting",
"datetime": "2017-04-25T10:00:00+05:30"
}]

最佳答案

您的代码在每次迭代中都会覆盖 json 内容。仅返回最后处理的内容。您应该在数组中进行累积,以便在响应中返回事件数组。

var Jsonresult = [];
app.get('/trips', function(req1, res1) {
for (var i = 0; i < events.length; i++) {
var event = events[i];
var start = event.start.dateTime || event.start.date;
console.log('%s - %s', start, event.summary);
var eventJson = {
event : event.summary,
datetime : start};
Jsonresult.push(eventJson);
}
res1.json(Jsonresult);
res1.end();
}

此代码适合您。

如API定义http://expressjs.com/en/api.html#res.json json 方法仅使用 JSON.stringify 方法将参数转换为 JSON 字符串,并为响应设置正确的内容类型

关于javascript - Express JS 以 JSON 格式显示所有事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43803861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com