-
express4.x版本做了很多改进,将很多功能分离出去,以第三方组件的形式为express提供了更多的功能。这样使得express有了更好的扩展性。在最新的express5.x中,express依旧保留了express.urlencode([option])中间件,用于解析传入的请求,并且基于body-parser。也就是说我们不必自己导入body-parser模块。
-
该中间件有一个extended参数,用于控制解析数据是选择qs模块还是querystring模块
extended=true 时采用qs模块,该模块的特点是可以解析嵌套数据,比如一个对象包含了另一个对象,如
qs.parse('foo[bar]=baz')
// 解析结果
foo: {
bar: 'baz'
}
qs.parse('foo[bar][baz]=foobarbaz')
// 解析结果
foo: {
bar: {
baz: 'foobarbaz'
}
}
extended=false 时采用querystring模块,只能解析单层数据,无法解析嵌套数据