复杂的 html 表单到 json 对象
Posted
技术标签:
【中文标题】复杂的 html 表单到 json 对象【英文标题】:Complex html form to json object 【发布时间】:2017-04-28 23:59:36 【问题描述】:我有一个高级表格。我需要从基本的 html 页面表单发送到我的 restapi。 我的表单由基本字段组成,例如。姓名、身份证等。 我还有一个对象列表。 当我在对象中需要一个对象时,我的问题就出现了。 例如。 jsonString 对象,它是动态的,可以包含多个字段。
<input type="text" name="jsonString.field1" value="123">
<input type="text" name="jsonString.field2" value="qwe">
<input type="text" name="jsonString.fieldN" value="...">
我想要的是:
id: 411421,
name: asdojasfjo,
alotOfRandomFields: "Random",
"jsonString":
field1: "123",
field2: "qwe",
fieldN: "..." ,
numbers: [1,2,3,4]
我的 jsonString 对象字段名称可能会有所不同,例如。 “Petname”、petage、petOwnerName 和其他可能的形式。 “职位”和“薪水”。
我知道如果我用相同的名称保存它们,我会得到一个数组,但是我看不到字段名称,将来比较所有包含宠物的文档时需要这些名称。
目前我正在使用jquery:
form.serialize();
有什么想法或建议吗?
【问题讨论】:
我真的不明白为什么人们在不提供反馈的情况下对问题投反对票... 【参考方案1】:我已经解决了我的问题。不太喜欢它的解决方式。所以如果有人有更好的想法,请分享:)
function ConvertFormToJSON(form)
var array = jQuery(form).serializeArray();
var json = jsonString:;
var substring = "jsonString";
jQuery.each(array, function()
if(this.name.indexOf(substring) !== -1)
json["jsonString"][this.name.substring(10)] = this.value;
else
json[this.name] = this.value || '';
);
return json;
【讨论】:
以上是关于复杂的 html 表单到 json 对象的主要内容,如果未能解决你的问题,请参考以下文章
如何创建动态 html 表单的 JSON 对象(表单元素)?