我想更新一个 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 变量或将我的数据置于 () 之外
有什么建议吗?
最佳答案
由于该对象位于数组内部,因此您需要使用 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>');
关于javascript - 在 Json 数组中添加新字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34433574/