TypeError:使用app.use(express.json())将圆形结构转换为JSON

时间:2019-04-13 07:00:51

标签: node.js json express slack-api

我有一个具有app.use(express.json())的快速网络应用。我正在测试与Slack的slash commands的集成,并且设置了非常基本的发布功能:

app.post('/info', (req, res) => {
    console.log(req.body);
    res.send('Thanks');
});

问题在于,只要我的闲适应用程序达到/info,我的应用程序就会抛出

TypeError: Converting circular structure to JSON
    at stringify (/node_modules/express/lib/response.js:1119:12)
    at ServerResponse.json (/node_modules/express/lib/response.js:260:14)
    at app.post (app.js:69:9)

是否可以在不删除app.use(express.json())的情况下解决此错误?

我见过this answer,但是我不认为它与我无法修改Express'express.json()函数有关。我也见过this answer,但是这似乎是由于他们使用了我没有使用的res.json

1 个答案:

答案 0 :(得分:0)

我还没有看到您的POST负载,因此无法确定。但是,您可能会遇到这种情况,因为您已经从Slack开始使用标头{Content-Type: application/json}进行发布,并且在Express应用程序内部您正在重新使用中间件express.json()。如果您已经知道客户端必须发送Content-Type:application / json,并且希望使用json对象,为什么必须使用express.json()