将表单序列化为嵌套的JSON w/JQuery

B Z*_*B Z 3 asp.net-mvc jquery jquery-ui

如果有人问过这个道歉...但我找不到(或者我使用完全错误的条款......)

我有一个这样的表格:

<form>
  <div>
  <input name="[0].RoleId" type="hidden" value="1">
  <input name="[0].RoleName" type="hidden" value="Administrator">
  <input name="[0].Selected" type="checkbox" checked="checked" >
  <span>Administrator</span>
  </div>

  <div>
  <input name="[1].RoleId" type="hidden" value="2">
  <input name="[1].RoleName" type="hidden" value="Manager">
  <input name="[1].Selected" type="checkbox" >
  <span>Manager</span>
  </div>

  etc...

</form>
Run Code Online (Sandbox Code Playgroud)

我想将其转换为以下json:

   roles [
     {
       "RoleId" : "1",
       "RoleName" : "Administrator",
       "Selected" : "checked"
     },
     {
       "RoleId" : "2",
       "RoleName" : "Manager",
       "Selected" : "unchecked"
     }
   ]
Run Code Online (Sandbox Code Playgroud)

我正在使用ASP.Net MVC 3来生成输入元素.基本上我要做的是以下......

我有一个用户屏幕.用户可以从那里选择角色列表(在jquery ui对话框中显示).当用户选择角色并单击"确定"时,弹出窗口将关闭,他们将在用户屏幕中看到所选角色.我打算使用jquery数据来存储在对话框中选择的数据,然后我需要解析并添加到用户屏幕.这是所有客户端,直到他们在用户屏幕中单击"保存".