如何使用 Node.js 将序列化的表单数据解析为 json

How parse serialized form data to json using Node.js

我用 Angular 和 Node.js + Express 4 + socket.io.

我想将表单发送到服务器 socket.io。我在我的 Angular 应用程序中创建了一项服务,该服务 returns 序列化表单数据。此服务的工作方式与 jQuery.serialize().

相同

然后我使用 socket.io 将序列化数据发送到服务器。如何将此数据解析为 JSON 对象?我有 express body-parse 但我不知道如何使用它,不像 express 中间件。

根据jQuery docsjQuery.serialize() 将使用以下形式(示例)中的表单元素创建查询字符串:

single=Single&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio1

要将查询字符串解析为对象,您可以使用 querystring Node.js 模块:

var qs = require('querystring')
qs.parse('single=Single&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio1')
// Prints:
{ single: 'Single',
  multiple: [ 'Multiple', 'Multiple3' ],
  check: 'check2',
  radio: 'radio1' }