【发布时间】:2015-04-27 14:29:46
【问题描述】:
我有这样的序列化数组
rate_3=26&rate_8=67&rate_12=98等等,
现在我需要将此数组更改为 json 类型
{
"ID": "3",
"Rate": "26"
},
{
"ID": "8",
"Rate": "67"
},
{
"ID": "3",
"Rate": "26"
} ..,
etc
所以我尝试过这样但它不起作用......请有人帮助我。
var o = {};
var a = table.$('input, select').serialize();
$.each(a, function()
{
if (o[this.name] !== undefined)
{
if (!o[this.name].push)
{
o[this.name] = [o[this.name]];
}
o[this.name].push(this.value || '');
}
else
{
o[this.name] = this.value || '';
}
});
return o;
我正在使用数据表,所以我只需要为使用此行的数据表序列化数组
var a = table.$('input, select').serialize();
即使我也尝试过使用 json2.js,但是当我使用 json2.js 时,它会强制页面提交
var data_2 = JSON.stringify(block_form.serializeArray());
【问题讨论】:
-
this but its not working- 实际发生了什么以及实际预期什么? -
.serialize函数返回一个字符串,而不是一个数组。所以你不能然后.each它并期望它工作。不知道为什么你首先使用.serialize,因为看起来从选定的选项中构建你需要的对象会更容易。
标签: javascript arrays json serialization serializearray