js反序列化和序列化的含义以及区别(jsonObject与jsonArray和map区别)

序列化主要就是为了传输方便,将要传输的对象序列化为二进制的数据流,效率极高,接受时通过反序列化转化为对象,从而达到一个传输的效果。

代码实现:

1.序列化:$("#graduatedModeForm_XXOO" ).serialize();

使用说明:先再ftl中定义一个Form表单,然后再取一个id名,那么使用序列化的好处就在于:再form表单中的所有数据都可以快速的转换为二进制数据流,如“01011100111”(java中),在js中序列化数据将转换为String类型,如“aaa=11&bbb=22,当我们进入当前页面的时候,可以通过前台debugger进入检查模式,然后点开console,在里面输入$("#idxxx").serialize();即可看到里面包含的数据

2.反序列化:

$("#graduatedModeForm_" + flag).serialize();

var params = {};
if(typeof formParam == "string"){
formParam.split('&').forEach(function (item){
item = item.split('=');
if(params[item[0]]){
if(!params[item[0]].push){
params[item[0]] = [params[item[0]]];
}
params[item[0]].push(item[1] || '');
} else{
params[item[0]] = item[1] || '';
}
});
}



使用说明:序列化serialize()的数据格式中间以&隔开,如aaa=11&BBB=22&CCC=33,反序列化是将数据进行拆分,然后将对象存到对应的集合中,

拆分分两步,先以“&”进行拆分,再以“=”进行拆分

jsonObject是json对象,map和json都是一对一的键值对,不同的是map中键值对中间使用“=”分开,如{age=20},json中键值对中间是使用“:”分开,如{"age":20},其实json就是一种特殊形式的map。

jsonArray 是json数组,使用[]表示,里面的值是json键值对格式,json对象中添加的是键值对,而jsonArray中添加的是json对象。


代码实现:

//创建一个json对象

JSONObject json=new JSONObject();

//创建一个json数组

JSONArray jsonArray=new JSONArray();

//先将键值对添加到json对象中

json.put("key",value);

//然后再将json对象添加到json数组中

JSONArray.add(json);


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值