You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在jQuery表单提交后获取指定结构的JSON对象?

如何将表单数据转换为包含数组的JSON对象?

你可以通过封装一个简单的转换函数,把serializeArray()返回的数组格式数据处理成你需要的JSON结构,尤其是处理复选框这类多值字段:

转换函数实现

function serializeFormToJson(formSelector) {
  const formData = {};
  $(formSelector).serializeArray().forEach(item => {
    if (formData[item.name]) {
      // 若字段已存在,转为数组存储多值(如复选框)
      if (!Array.isArray(formData[item.name])) {
        formData[item.name] = [formData[item.name]];
      }
      formData[item.name].push(item.value);
    } else {
      formData[item.name] = item.value;
    }
  });
  return formData;
}

修改后的表单提交代码

$('form').submit((e)=>{
  e.preventDefault();
  // 调用转换函数得到目标格式的对象
  let data = serializeFormToJson('form');
  console.log(data); // 此时输出的就是你需要的结构

  $.ajax({
    url: 'path/to/submit',
    type: 'POST',
    // 若服务器接收JSON格式,需转为字符串并设置contentType
    data: JSON.stringify(data),
    contentType: 'application/json',
    success: (res) => {
      console.log(res);
    }
  })
});

原表单与样式代码

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form>
  Name
  <input type="text" name="name" value="Andi" /><br />
  Password
  <input type="password" name="password" value="pass" /><br />
  Role <br/>
  <input type="radio" name="role" value="teacher" checked /> Teacher <br />
  <input type="radio" name="role" value="student" /> Student <br />
  Hobby <br/>
  <input type="checkbox" name="hobby" value="Sport" checked /> Sport <br />
  <input type="checkbox" name="hobby" value="Music" /> Music <br />
  Description
  <textarea name="description">I like programming</textarea><br />
  City
  <select name="city">
    <option value="Jakarta">Jakarta</option>
    <option value="Bali">Bali</option>
  </select><br />
  <input type="submit" />
</form>

CSS

form {
  border: 1px solid black;
}

说明

  • 转换函数会自动处理单选框、复选框、输入框等各类表单控件:单选框/普通输入框返回单个值,复选框返回选中值的数组。
  • 如果后端接口接收JSON格式数据,必须设置contentType: 'application/json',并将对象转为JSON字符串发送。

内容的提问来源于stack exchange,提问作者Jordy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 23:49:56