body-parser – 扩展选项(qs vs querystring)

在body-parser的当前版本中,现在需要使用bodyParser.urlencoded()时的extended选项。 在自述文件中,它解释了:

扩展选项允许select在查询string库(如果为false)或qs库(如果为true)时parsingURL编码的数据。

[…]

默认为true,但使用默认值已被弃用。 请研究qs和querystring之间的差异,并select适当的设置。

我找不到任何有用或具体的信息。 我只发现了一个不推荐使用的节点查询string 。

如果这个选项总是正确的?

这个消息的原因是body-parser正在改变从truefalse默认值 。

扩展协议使用qs库来parsingx-www-form-urlencoded数据。 qs的主要优点是它使用非常强大的序列化/反序列化algorithm,能够序列化任何类似json的数据结构。

但是,networking浏览器通常不使用这个协议,因为x-www-form-urlencoded被devise为序列化平的html表单。 不过,如果你打算使用ajax发送丰富的数据结构,它可能会派上用场。

querystring库“提供了基本的序列化/反序列化algorithm,这是所有networking浏览器用于序列化表单数据的algorithm。 这个基本algorithm比扩展algorithm简单得多,但是仅限于平面数据结构。

两种algorithm的工作原理与平面数据完全相同。

现在,当您知道两种algorithm的优缺点时,您最好决定哪一个更适合您的应用程序。