Skip to content

Express.json

使用 JSON 有效负载解析传入请求,并且基于 body-parser

Express
express.json([options])

描述

这是 Express 中内置的中间件函数。它使用 JSON 有效负载解析传入请求,并且基于 body-parser。

返回仅解析 JSON 并且仅查看 Content-Type标头与 type选项匹配的请求的中间件。此解析器接受正文的任何​​ Unicode 编码,并支持 gzip和 deflate编码的自动膨胀。

包含解析数据的新 body对象在中间件(即 req.body)之后填充到 request对象上,如果没有要解析的主体、Content-Type不匹配或发生错误,则填充一个空对象({})。

可选options对象的属性

  • inflate – 这可以启用或禁用对放气或压缩物体的处理。数据类型: 布尔值 默认值:true
  • limit限制- 这控制请求正文的最大大小。(如果这是一个数字,则该值指定字节数;如果是字符串,则将值传递给 bytes 库进行解析。)数据类型: 混合 默认值:"100kb"
  • reviver– 此选项作为第二个参数传递给JSON.parse方法。数据类型: 函数 默认值: null
  • strict严格- 这将启用或禁用接受数组或对象(禁用时将接受 JSON.parse 接受的任何内容)。数据类型 布尔值 默认值:true
  • type – 这决定了将被解析的中间件的媒体类型(此选项可以是字符串、字符串数组或函数)。数据类型: 混合 默认值: 'application/json'
Express
// 导入 express 模块
var express = require('express');
// 初始化 express 和端口号
var app = express();
var PORT = 3000;
1、// 调用 express.json() 方法进行解析
app.use(express.json());
// 阅读内容类型
app.post('/', function (req, res) {
   console.log(req.body.name)  //如果不执行“1” 这里将解析为 undefined
   res.end();
})
// 监听端口
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});