我的代码看起来有点像这样:
var data = $(this).serializeArray(data);
$.ajax({
data: JSON.stringify(data)
});
我也运行console.log
,我看到格式为:
[{"name":"inputName", "value":"inputValue"}]
虽然我期待:
[{"inputName":"inputValue"}]
我是否误解了JSON格式,或者有没有办法让它正确格式化?
答案 0 :(得分:0)
JSON(好吧,任何哈希/字典)格式为{ property : value }
(或{ key : value }
)。如果你想要每个value
井......值!在数组中,您可以使用简单的for..in
语句执行此操作。
vals = [];
hash = {a: 1, b: 2, c: 3};
for (item in hash) {
vals.append(hash[item]);
}
console.log(vals); // => [1, 2, 3]
但是直接答案,你永远不会看到[{"inputName":"inputValue"}]
,因为inputName
不是关键,而是变量(就像inputValu
e)
答案 1 :(得分:0)
格式正确,如文档中所述:http://api.jquery.com/serializeArray/
答案 2 :(得分:0)
$.serializeArray生成这样的数组。
您可以修改$.serializeArray
的输出,使用$.map
var customArray = $.map(data,function(obj,i){
var temp = {};
temp[obj.name] = obj.value;
return temp;
});