Express 面试题
目录

如何使用 express.json 中间件解析 JSON 请求体?

· 约 3 分钟读完 · 第 20 / 120 章

推荐答案

本题详细解读

1. 什么是 express.json() 中间件?

express.json() 是 Express 框架提供的一个内置中间件,用于解析传入请求中的 JSON 格式的请求体。它会将请求体中的 JSON 数据解析为 JavaScript 对象,并将其挂载到 req.body 上,方便后续处理。

2. 如何使用 express.json() 中间件?

在使用 express.json() 中间件时,通常会在 Express 应用的顶层通过 app.use() 方法进行全局注册。这样,所有的请求都会经过这个中间件,如果请求体是 JSON 格式,它会被自动解析。

3. 解析后的数据如何访问?

一旦使用了 express.json() 中间件,解析后的 JSON 数据会存储在 req.body 中。你可以在路由处理函数中通过 req.body 访问这些数据。

4. 注意事项

  • express.json() 中间件只会解析 Content-Type 为 application/json 的请求。
  • 如果请求体不是有效的 JSON 格式,req.body 可能会是 undefined 或 null。
  • 你可以通过传递选项对象来配置 express.json() 的行为,例如设置解析的最大数据量:

5. 示例解释

在推荐的代码示例中,我们创建了一个 Express 应用,并使用 express.json() 中间件来解析 JSON 请求体。当客户端向 /data 路径发送 POST 请求时,服务器会解析请求体中的 JSON 数据,并将其作为响应返回。