我想更新一个json对象
让我们说我的json对象是(该变量用于测试目的,实际上我从api接收json)
var json = [
{
user: "value1",
country: "value2",
name: "value3"
}
]
现在使用javascript或jquery,我想添加例如以下字段
firstname: "value"
所以我最后的json应该是
[
{
user: "value1",
country: "value2",
name: "value3",
firstname: "value"
}
]
我已尝试在堆栈溢出中找到的所有内容
json["firstname"] = "value"
或
jquery.extend
或
json.push
但这不会更新我的json变量或者让我的数据超出()
有什么建议吗?
答案 0 :(得分:1)
由于对象在数组中,您需要使用json[0]["firstname"] = "value"
,json[0]
将从作为对象的数组中检索第一个元素
var json = [{
user: "value1",
country: "value2",
name: "value3"
}]
json[0]["firstname"] = "value";
document.write('<pre>' + JSON.stringify(json,null,3) + '</pre>');
如果数组包含多个元素,则迭代它们并添加属性,您可以使用 map()
var json = [{
user: "value1",
country: "value2",
name: "value3"
}, {
user: "valude1ds",
country: "valuesds2",
name: "valdsdsue3"
}]
json = json.map(function(v) {
v["firstname"] = "value";
return v;
});
document.write('<pre>' + JSON.stringify(json, null, 3) + '</pre>');
答案 1 :(得分:0)
$.each(json,function(key,value){
json[key]["firstname"] = "value";
});
上面的代码将为json数组中的所有对象添加firstname