通过迭代准备JSON

时间:2013-01-15 20:45:56

标签: javascript jquery json

我是jquery和JSON的新手,这就是我想要做的。 我有一个firstName字段,lastName字段和类“actionDueDate_input”的日期字段列表。 我想生成一个JSON,它有firstName,lastName并遍历所有日期字段并将它们插入JSON。

我正在尝试执行以下操作,它正在给我“未定义”。这里有一些基本的错误,我无法弄明白。

var dateval="";
$('div.action input.actionDueDate_input').each(function(index)
{
    if(index>0)
    {
        dateval+=",";
    }
    dateval+="{";
    dateval+='"';
    dateval+="actionDueDate";
    dateval+='"'+":";
    dateval+='"'+$(this).val()+'"'+"}";
});

alert(dateval);

var values={"contact":
[
    {
        "givenName":givenName,
        "familyName":familyName,
        "actionSet":
        [
            dateval
        ],
    }
]};

alert('Action Dates for client one:  '+values.contact[0].actionSet[0].actionDueDate);

1 个答案:

答案 0 :(得分:0)

JSON采用特殊格式的字符串形式,而不是数组。数组是解析JSON时获得的数据。

要JSON化数组,请使用JSON.stringify(arr)

这是一个示例,它获取原始表单的所有值并将它们捆绑为JSON字符串:

var formInputs = {},
    jsonString;

$('form').find('input', 'select').each(function(){
    formInputs[this.name] = this.value;
});

jsonString = JSON.stringify(formInputs);