用jquery以及json包将表单数据转为json字符串

提供一个将表单数据转为json对象,再转为字符串,提交到后台,后台就可以将数据转为json对象,方便操作,假如有用到json作为数据处理手段的话。希望大家可以用到!(不能直接套用的话,用浏览器js调试工具调试下,就行了)

 

要用到的包:json2.js,jquery(可以百度);

 

var dataVo = $("#submitForm").serializeArray();

var dataJson = convertToJson(dataVo);

dataVo = JSON.stringify(dataJson);

/**

 * 将表单对象转为json对象

 * @param formValues

 * @returns 

 */

function convertToJson(formValues) {

    var result = {};

    for(var formValue,j=0;j<formValues.length;j++) {

    formValue = formValues[j];

    var name = formValue.name;

    var value = formValue.value;

    if (name.indexOf('.') < 0) {

    result[name] = value;

    continue;

    } else {

    var simpleNames = name.split('.');

    // 构建命名空间

    var obj = result;

    for ( var i = 0; i < simpleNames.length - 1; i++) {

    var simpleName = simpleNames[i];

    if (simpleName.indexOf('[') < 0) {

    if (obj[simpleName] == null) {

    obj[simpleName] = {};

    }

    obj = obj[simpleName];

    } else { // 数组

    // 分隔

    var arrNames = simpleName.split('[');

    var arrName = arrNames[0];

    var arrIndex = parseInt(arrNames[1]);

    if (obj[arrName] == null) {

    obj[arrName] = []; // new Array();

    }

    obj = obj[arrName];

    multiChooseArray = result[arrName];

    if (obj[arrIndex] == null) {

    obj[arrIndex] = {}; // new Object();

    }

    obj = obj[arrIndex];

    }

    }

    if(obj[simpleNames[simpleNames.length - 1]] ) {

    var temp = obj[simpleNames[simpleNames.length - 1]];

    obj[simpleNames[simpleNames.length - 1]] = temp;

    }else {

    obj[simpleNames[simpleNames.length - 1]] = value;

    }

    }

    }

    return result;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值