javascript – 生成自定义JSON数组

前端之家收集整理的这篇文章主要介绍了javascript – 生成自定义JSON数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试生成如下的JSON对象,

{"project":{"name":"test name","description":"test description","identifier":"testid",{"custom_fields":[{"value":"2015-12-01","id":4},{"statr":"2015-12-31,"id":5}]},stack":"Java","enabled_module_names":["issue_tracking","time_tracking"],"tracker_ids":["1","2","3"]}}

当前代码生成除下面的这部分以外的所

{"custom_fields":[{"value":"2015-12-01",{"value":"2015-12-31,"id":5}]}

单词值不会改变,也应该将输入值作为日期格式,id也是常量.

    $(document).ready(function(){
      
       $.fn.serializeObject = function()
{
    var o = {};
    var a = this.serializeArray();
    $.each(a,function() {
        if (o[this.name] !== undefined) {
            if (!o[this.name].push) {
                o[this.name] = [o[this.name]];
            }
            o[this.name].push(this.value || '');
        } else {
            o[this.name] = this.value || '';
        }
    });
    return {"project":o};
};

$(function() {
    $('form').submit(function() {
        $('#result').text(JSON.stringify($('form').serializeObject()));
        return false;
    });
});
   
PHP">PHPBox-inline" name="modules"> Box" id="inlineCheckBox1" name="enabled_module_names" value="issue_tracking"> Issue Tracking Box-inline"> Box" id="inlineCheckBox2" name="enabled_module_names" value="time_tracking"> Time Tracking Box-inline"> Box" id="inlineCheckBox3" name="enabled_module_names" value="gantt"> Gant Box-inline" > Box" id="inlineCheckBox1" name="tracker_ids" value="1"> Bug Box-inline"> Box" id="inlineCheckBox2" name="tracker_ids" value="2"> Feature Box-inline"> Box" id="inlineCheckBox3" name="tracker_ids" value="3"> Support

在所有其他输入中,此代码捕获输入的名称和输入的值.我试图得到上面提到的JSON对象,是否有可能.请指教.

最佳答案
使用以下功能可以获得表单中的所有数据.如果你想要一个递归定义 – 我建议添加内部表单.

var data = {}; 
$('form').find('input').each(function(){
    var name = $(this).attr('name');
    var value = $(this).val();
    data[name] = value;
});

猜你在找的jQuery相关文章