const formUtil = { /** * 将表单转为对象 * @param fileds */ formFieldsToJSON: function (fileds) { var finalResult = {}; for (key in fileds) { var obj = {}; obj[key] = fileds[key]; var tempResult = this.formFieldToJSON(obj); var keys = new Array(); while (Object.prototype.toString.call(tempResult) === '[object Object]') { var key = Object.keys(tempResult)[0]; keys.push(key); tempResult = tempResult[key]; } var temp = "finalResult"; for (var i = 0; i < keys.length; i++) { temp += "['" + keys[i] + "']"; if (i != keys.length - 1) { if (eval(temp + "==undefined") == true) { eval(temp + "={}"); } } else { eval(temp + "=" + (isNaN(tempResult) ? "'" + tempResult + "'" : tempResult)); } } } return finalResult; }, formFieldToJSON: function (field) { var key = Object.keys(field)[0]; var value = field[key]; var keys = key.split("."); if (keys.length > 1) { var newValue = {}; var k = keys[keys.length - 1]; keys.splice(keys.length - 1, 1); newValue[k] = value; var final = {}; final[keys.join(".")] = newValue; return this.formFieldToJSON(final); } else { return field; } }, jsonToFormField: function (data) { var result = {}; for (key in data) { if (Object.prototype.toString.call(data[key]) === '[object Object]') { for (ckey in data[key]) { result[key + "." + ckey] = data[key][ckey]; } } else { result[key] = data[key]; } } return result; } };