`app.use(bodyParser.json())` 是做什么的?
What does `app.use(bodyParser.json())` do?
对于:
bodyParser.urlencoded({extended: ...})
我的研究表明,如果 extended: true
,那么您可以解析嵌套对象,或者通常是任何类型。但是,如果你设置extended: false
,那么你只能解析字符串或者数组。但是...
app.use(bodyParser.json())
到底是什么意思?我的意思是,是的......我知道文档提到它解析 json。但我仍然很困惑。我注意到设置 extended: true
的应用程序根本不使用 bodyParser.json()
。但是 extended: false
的应用程序倾向于使用 bodyParser.json()
。为什么是这样?在一天结束时,两个应用程序都能够解析 json.
其次,推荐的方法是什么?
URL 编码和 JSON 编码都允许将(嵌套)对象转换为字符串,但格式不同。 URL 编码的字符串通常不是有效的 JSON 字符串。
一个应用程序可能使用一种编码方法,另一个应用程序可能使用另一种编码方法。只要他们不把两者混在一起,它就会起作用。
好吧,与我之前的想法相反,进一步的研究表明 extended: true
和 app.use(bodyParser.json())
可以一起使用。所以不只是 extended: false
使用它。 app.use(bodyParser.json())
语句是独立使用的,不管你设置extended是true
还是false
.
app.use(bodyParser.json())
基本上告诉系统您希望使用 json。
bodyParser.urlencoded({extended: ...})
基本上告诉系统你是想使用简单算法进行浅层解析(即 false)还是使用复杂算法进行深度解析,可以处理嵌套对象(即 true) .
查看示例的文档(即 https://expressjs.com/en/guide/migrating-4.html)。
bodyParser.jsonreturns只解析json的中间件。此解析器接受主体的任何 Unicode 编码并支持自动 inflation gzip 和 deflate 编码。
在中间件(即 req.body)之后的请求对象上填充包含已解析数据的新正文对象。
对于:
bodyParser.urlencoded({extended: ...})
我的研究表明,如果 extended: true
,那么您可以解析嵌套对象,或者通常是任何类型。但是,如果你设置extended: false
,那么你只能解析字符串或者数组。但是...
app.use(bodyParser.json())
到底是什么意思?我的意思是,是的......我知道文档提到它解析 json。但我仍然很困惑。我注意到设置 extended: true
的应用程序根本不使用 bodyParser.json()
。但是 extended: false
的应用程序倾向于使用 bodyParser.json()
。为什么是这样?在一天结束时,两个应用程序都能够解析 json.
其次,推荐的方法是什么?
URL 编码和 JSON 编码都允许将(嵌套)对象转换为字符串,但格式不同。 URL 编码的字符串通常不是有效的 JSON 字符串。
一个应用程序可能使用一种编码方法,另一个应用程序可能使用另一种编码方法。只要他们不把两者混在一起,它就会起作用。
好吧,与我之前的想法相反,进一步的研究表明 extended: true
和 app.use(bodyParser.json())
可以一起使用。所以不只是 extended: false
使用它。 app.use(bodyParser.json())
语句是独立使用的,不管你设置extended是true
还是false
.
app.use(bodyParser.json())
基本上告诉系统您希望使用 json。bodyParser.urlencoded({extended: ...})
基本上告诉系统你是想使用简单算法进行浅层解析(即 false)还是使用复杂算法进行深度解析,可以处理嵌套对象(即 true) .
查看示例的文档(即 https://expressjs.com/en/guide/migrating-4.html)。
bodyParser.jsonreturns只解析json的中间件。此解析器接受主体的任何 Unicode 编码并支持自动 inflation gzip 和 deflate 编码。
在中间件(即 req.body)之后的请求对象上填充包含已解析数据的新正文对象。