Express 响应返回 JSON 格式的数据
Express 的响应对象 有一个 json()
方法 。 res.json()
函数 接受一个参数,一个对象 obj
,将其序列化为 JSON,并在 HTTP 响应正文 。
const axios = require('axios');
const express = require('express');
const app = express();
app.get('*', function(req, res) {
res.json({ answer: 42 });
});
const server = await app.listen(3000);
const response = await axios.get('http://localhost:3000');
response.data; // { answer: 42 }
response.headers['content-type']; // 'application/json; charset=utf-8'
Express 还设置了 content-type
标题 到 application/json
。大多数 HTTP 客户端,如 Axios ,使用自动处理将 JSON 字符串转换为 JavaScript 对象 JSON.parse()
当内容类型为 application/json
。
res.json()
用途 JSON.stringify()
在引擎盖下 将对象序列化为 JSON。 您可以配置 Express 传递给的参数 JSON.stringify()
使用 app.use()
,例如要让 Express 漂亮地打印 JSON,您可以使用 app.set('json spaces', 2)
如下所示。
const axios = require('axios');
const express = require('express');
const app = express();
// Make Express pass '2' as the 3rd argument to `JSON.stringify()`
app.set('json spaces', 2);
app.get('*', function(req, res) {
res.json({ answer: 42, hello: 'world' });
});
const server = await app.listen(3000);
const response = await axios.get('http://localhost:3000', {
transformResponse: res => res // Disable automatic JSON parsing
});
// {
// "answer": 42,
// "hello": "world"
// }
response.data;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 使用 Axios 发送请求
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论