Javascript 如何使用JSON(而不是序列化)名称为“的表单”;第[]项[事项]”;不获取具有空子对象的对象?
这是一个非常具体的问题,我无法在网上找到它,或者至少到目前为止我还没有找到解决方案 我有一个表单,它包含的输入有:Javascript 如何使用JSON(而不是序列化)名称为“的表单”;第[]项[事项]”;不获取具有空子对象的对象?,javascript,jquery,arrays,json,serialization,Javascript,Jquery,Arrays,Json,Serialization,这是一个非常具体的问题,我无法在网上找到它,或者至少到目前为止我还没有找到解决方案 我有一个表单,它包含的输入有:name=“Item[][things]”,就像在一个项目中一样。这是无法改变的。我想将其转换为JSON以将其发送到服务器。我不能使用serialize,我真的需要将它转换为JSON 这与我尝试的方法不兼容:JSON.stringify($myForm.serializeObject())。因为我的表单包含name=“Item[][differentintotherthings]”,
name=“Item[][things]”
,就像在一个项目中一样。这是无法改变的。我想将其转换为JSON以将其发送到服务器。我不能使用serialize,我真的需要将它转换为JSON
这与我尝试的方法不兼容:JSON.stringify($myForm.serializeObject())
。因为我的表单包含name=“Item[][differentintotherthings]”,所以我得到一个空数组[null,null,…,null]
我在项目中添加了serializeObject()自定义方法
关于如何在没有空问题的情况下使用JSON表单,有什么想法吗?请参阅下面的代码片段
$(函数(){
$(“#序列化”)。单击(函数(){
var$myForm=$(“form”).eq(0);
var str=JSON.stringify($myForm.serializeObject());
console.log(str);
var object=JSON.parse(str);
console.log(对象);
})
});
$.fn.serializeObject=函数()
{
var o={};
var a=this.serializeArray();
$.each(a,function(){
if(o[this.name]!==未定义){
如果(!o[this.name].push){
o[this.name]=[o[this.name]];
}
o[this.name].push(this.value | |“”);
}否则{
o[this.name]=this.value | |“”;
}
});
返回o;
};代码>
序列化
您的意思是要在JSON序列化之前评估字符串“Item[][things]”
?这还不清楚。请提供一个完整的例子。哦,谢谢你。我没有想到我可以寻找另一个正确的序列化对象方法。