/*
$("#form").serialize()可以获取到序列化的表单值字符串,如:a=1&b=2&c=3&d=4&e=5 注:控件需定义name属性
这样获取得不是json字符串,后台不好转为bean,我们可以先把表单数据序列化为一个json对象,如下方法
然后 JSON.stringify(jsonObj); // 将json对象转换为json字符串传给后台
然后后台将json字符串转为bean对象
*/
$.fn.serializeObject = function() { // 把表单数据序列化为一个json对象
var o = {};
var a = this.serializeArray();
$.each(a, function() {
if (o[this.name] !== undefined) {
if (!o[this.name].push) {
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
} else {
o[this.name] = this.value || '';
}
});
return o;
};
var jsonObj = $("#applyForm").serializeObject(); // 把表单数据序列化为一个json对象
var jsonStr = JSON.stringify(jsonObj); // 将json对象转换为json字符串
var paramData = {};
paramData.mobile = $("#maintancemobile").val();
paramData.code = $("#code").val();
paramData.platformInfo = jsonStr; // 其它基本信息数据值
// 获取json字符串
String infoJsonStr = request.getParameter("platformInfo");
// 将json字符串转为bean对象
PlatformInfo platformInfo = JSON.parseObject(infoJsonStr, new TypeReference<PlatformInfo>() {});
FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
https://www.cnblogs.com/jayinnn/p/9561617.html