插入名称和值对

时间:2012-03-01 05:13:52

标签: javascript json insert

示例:

var data = { name : "John",age : 19}

我想在json对象中添加另一对。

{gender : male}

这样它就会变成

data = { name : "John",age : 19,gender : "male" }

5 个答案:

答案 0 :(得分:3)

你需要的只是

data.gender = "male";

答案 1 :(得分:3)

是的,或者:

data.gender = "male";

data['gender'] = "male";

(这些是等价的。)

如果您正在使用jQuery(或许多其他库中的一个),您可能有一个对此有用的“扩展”功能。它“合并”了两个Javascript对象。在jQuery中:

$.extend(data, { gender: "male" });

这很好,因为您可以使用多个值扩展JSON对象。

答案 2 :(得分:3)

var data = { name : "John",age : 19};
var update = {gender : "male"};


function merge(target, source){
    for(var prop in source){
        target[prop] = source[prop];
    }
    return target;
}

var merged = merge(data, update);

这会将update中的所有媒体资源添加到data。使用返回的值是可选的。 data本身在函数内部更新,因为它是对象。

或者如果你使用jQuery

var merged = $.extend(data, update);

使用jQuery我们可以进行深层次合并

var update = {gender : "male", address:{house:"house1", street:"street1", pin:"pin1"}};
var merged = $.extend(true, data, update);

要使用普通的javascript实现相同的功能,你必须修改并递归调用我上面写的函数。

答案 3 :(得分:1)

试试这个:

var data = { name : "John",age : 19};
data.gender = "male";

答案 4 :(得分:1)

data.gender = "male"

此处提供更多信息:Dynamically Add Variable Name Value Pairs to JSON Object