在JavaScript中将数组转换为json时出现问题
我有以下代码:在JavaScript中将数组转换为json时出现问题,javascript,jquery,json,Javascript,Jquery,Json,我有以下代码: var fields = []; $('input').each(function(){ var name = $(this).attr("name"); fields[name] = $(name).val(); }); 我想将字段变量转换为json字符串,但当我使用json.stringify时,我只得到(使用console.log):[] 如何简单地将数组字段转换为json字符串?如果希望字段名等文本字符串(而不是数字)作为属性名,则需要对象,而不是数组。将字段初
var fields = [];
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
我想将字段
变量转换为json字符串,但当我使用json.stringify
时,我只得到(使用console.log
):[]
如何简单地将数组
字段
转换为json字符串?如果希望字段名等文本字符串(而不是数字)作为属性名,则需要对象,而不是数组。将字段
初始化为{}
而不是[]
数组的JSON序列化将只包括键为数字的属性,从零到
.length
(减1)。刚刚做了一个更正,请使用object而不是数组:
var fields = {};
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
Ok问题出现在以下行:
fields[name] = $(name).val();
我将名称
更改为此
:
fields[name] = $(this).val();
当我使用
控制台将fields
初始化为{}
时,log
我得到{}
@jacewojtek,那么你在页面上没有任何输入。@jacewojtek如果你的代码放在页面顶部的
中,那么它会在构建DOM之前运行。