Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JSON(而不是序列化)名称为“的表单”;第[]项[事项]”;不获取具有空子对象的对象?_Javascript_Jquery_Arrays_Json_Serialization - Fatal编程技术网

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]”
?这还不清楚。请提供一个完整的例子。哦,谢谢你。我没有想到我可以寻找另一个正确的序列化对象方法。