0

我是 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);
4

1 回答 1

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);
于 2013-01-15T20:48:59.700 回答