javascript - 如何修改这个json对象

标签 javascript jquery jsonp json

我如何修改此代码以获得预期结果。

这就是我从这段代码中得到的结果。

{"name":"abc","identifier":"abc_one","number":"55","description":"This is a description"}

但我想要一个像这样的 json 对象,

{"project":  
  {"name":"abc",
   "identifier":"abc_one",
   "number":"55",
   "description":"This is a description"}
}

请看看我现在的代码。它需要被另一个名为“project”的对象扭曲。

$.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 o;
};

$(function() {
    $('form').submit(function() {
        $('#result').text(JSON.stringify($('form').serializeObject()));
        return false;
    });
});
<form action="" method="post">
First Name:<input type="text" name="name" maxlength="12" size="12"/> <br/>
Last Name:<input type="text" name="identifier" maxlength="36" size="12"/> <br/>
number:<input type="number" name="number" maxlength="36" size="12"/> <br/>
<textarea wrap="physical" cols="20" name="description" rows="5">Enter your favorite quote!</textarea><br/>
Select a Level of Education:<br/>
<p><input type="submit" /></p>
</form>

最佳答案

您需要更改的是以下内容

return o;

return {"project":o}

在serializeObject函数中。

关于javascript - 如何修改这个json对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34114680/

相关文章:

javascript - 从 fancybox 中删除内联样式

javascript - 发送 jsonp 请求phonegap 时捕获响应

javascript - 长轮询服务器原理(客户端识别)

javascript - 使用 html5/CSS/JS 的图像亮度

javascript - 有没有办法在变量声明中添加条件语句?

javascript - JQuery 添加元素需要在我的 js 之前再次添加 jquery 脚本

javascript - jquery如何指定多个选择器

Javascript 在浏览器之外触发下载

javascript - 类型错误 : a is undefined + Uncaught TypeError: Cannot read property 'length' of undefined

javascript - 为什么 AJAX json 脚本会返回额外的 0(零)