我当时正在使用ExpressJS制作服务器,而这件事确实困扰着我。在我的响应中使用.json()而不是.send()有什么用?根据Express的说法,.send()自动将JavaScript对象转换为JSON字符串,我们不需要使用stringify。然后为什么在响应中使用.json()。
app.get('/profile/:id', (req, res) => {
const {id} = req.params;
let found = false;
database.users.forEach(user => {
if(user.id === id) {
found = true;
return res.json(user);
}
})
if (found === false)
{
res.status(400).json('not found');
}
})
这是res.json()应用的代码。
答案 0 :(得分:0)
最后,res.json
调用res.send
,并且在传递对象或数组时它们都是相同的。
但是res.json
方法也使用json replacer
和json spaces
设置。它们为您提供了更大的灵活性和更多选项来格式化json文件。
还res.json
确保响应位于utf8字符集中。
为了更好地理解这些差异,建议您检查一下: Difference between res.send and res.json in Express.js