[JQuery]jQuery中serializeArray方法的使用及对象与字符串的转换

本文介绍如何使用jQuery的serializeArray()方法将表单数据转换为JSON格式,便于前后端交互。通过实例展示了如何生成JSON对象及字符串转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组,

再使用遍历的方式可以方便的将数组转化为json对象,

代码如下

<p id="results"><b>Results: </b> </p>
<form>
  <select name="single">
    <option>Single</option>
    <option>Single2</option>
  </select>
  <select name="multiple" multiple="multiple">
    <option selected="selected">Multiple</option>
    <option>Multiple2</option>
    <option selected="selected">Multiple3</option>
  </select><br/>
  <input type="checkbox" name="check" value="check1"/> check1
  <input type="checkbox" name="check" value="check2" checked="checked"/> check2
  <input type="radio" name="radio" value="radio1" checked="checked"/> radio1
  <input type="radio" name="radio" value="radio2"/> radio2
</form>
<script type="text/javascript">
//其中的serialize()方法将表单信息转化为以&连接的字符串,和提交的信息类似,感觉用处不大
$("#results").append("<tt>"+$("form").serialize()+"</tt>").append("<br/>"+$("form").serializeArray());
//但是serializeArray方法会生成键值对的数组对象,再放到json对象中,使用起来就很方便了
var fields = $("form").serializeArray();
var f = {};//声明一个对象
$.each(fields,function(index,field){
    f[field.name] = field.value;//通过变量,将属性值,属性一起放到对象中
})
//等遍历结束,就会生成一个json对象了
 
//如果需要对象与字符串的转换
//这是从json对象 向 json 字符串转换
 var str = JSON.stringify(f);
 alert(str);
  
//这是将字符串 向 对象转换
 var objectStr = JSON.parse(str);
 alert(objectStr);
  
</script>

生成的json可以传送到服务器,再使用插件直接转化成Javabean对象,使用起来会非常方便,因为省去了繁琐的提取操作语句

如果需要对象与字符串的转换,可以使用多种方法,除了代码中的方法,另外还有两种字符串转对象的方式

jQuery中的$.parseJSON(str) 可把字符串转成对象。。

另外就是js中熟悉的eval方法了,将字符串转化为对象eval(‘(’+str+‘)’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值