示例:
var data = { name : "John",age : 19}
我想在json对象中添加另一对。
{gender : male}
这样它就会变成
data = { name : "John",age : 19,gender : "male" }
答案 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