[英]Problem with converting array to json in JavaScript
我有这个代码:
var fields = [];
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
我想将fields
变量转换为 json 字符串,但是当我使用JSON.stringify
我只得到(使用console.log
): []
如何简单地将数组fields
转换为 json 字符串?
好的问题出在以下行上:
fields[name] = $(name).val();
我把name
改成this
:
fields[name] = $(this).val();
并且像我想要的那样工作。
如果您想要像字段名称(而不是数字)这样的文本字符串作为属性名称,您需要一个object ,而不是一个数组。 将fields
初始化为{}
而不是[]
。
数组的 JSON 序列化将仅包括键为数字的属性,从零到.length
(减一)的值。
刚刚做了一个更正,使用对象而不是数组:
var fields = {};
$('input').each(function(){
var name = $(this).attr("name");
fields[name] = $(name).val();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.