Gra*_*ful 42 json express body-parser
对于:
bodyParser.urlencoded({extended: ...})
Run Code Online (Sandbox Code Playgroud)
我的研究告诉我,如果extended: true,那么你可以解析嵌套对象,或者通常是任何类型.但是,如果设置extended: false,则只能解析字符串或数组.但那是什么......
app.use(bodyParser.json())
Run Code Online (Sandbox Code Playgroud)
是什么意思?我的意思是,是的......我知道文件提到它解析了json.但我仍然感到困惑.我注意到设置的应用程序extended: true根本不使用bodyParser.json().但是extended: false倾向于使用的应用程序bodyParser.json().为什么是这样?在一天结束时,两个应用程序都能够解析json.
其次,这是推荐的方法吗?
Gra*_*ful 70
好了,相反的是我以前认为,进一步的研究表明,extended: true和app.use(bodyParser.json())可以一起使用.所以它不仅仅是extended: false使用它.该语句app.use(bodyParser.json())将独立使用,无论您将扩展名设置为true或false.
app.use(bodyParser.json()) 基本上告诉系统你想要使用json.
bodyParser.urlencoded({extended: ...}) 基本上告诉系统你是否想要使用简单的算法进行浅层解析(即错误)或者使用复杂算法进行深度解析,以便处理嵌套对象(即true).
有关示例,请查看文档(即https://expressjs.com/en/guide/migrating-4.html).
URL编码和JSON编码都允许将(嵌套)对象转换为字符串,但格式不同.URL编码的字符串通常不是有效的JSON字符串.
一个应用程序可以使用一种编码方法,另一种应用程序可以 只要他们不混合两者,它就会起作用.
bodyParser.json 返回只解析 json 的中间件。此解析器接受正文的任何 Unicode 编码,并支持 gzip 和 deflate 编码的自动膨胀。
包含解析数据的新主体对象填充在中间件之后的请求对象上(即 req.body)。
| 归档时间: |
|
| 查看次数: |
42131 次 |
| 最近记录: |