繁体   English   中英

JavaScript 中将数组转换为 json 的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM