这是我的Json输出
"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}
如何添加新的键值对以便我可以
"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
"name" : "tom"
}
我试过这个
data.push({"name": "tom"});
但我总是得到
"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}
我该怎么办?帮助请
答案 0 :(得分:5)
简单地)
o = {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}
然后
o.name = "tom"
答案 1 :(得分:3)
您希望追加到user_data而不是整个对象的另一个对象
尝试使用数组表示法
data["user_data"]["name"] = "tom";
或
data.user_data.name = "tom";
演示:
data = {"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}};
data["user_data"]["name"] = "tom";
console.log(data)
答案 2 :(得分:2)
push
方法用于将元素推送到数组而不是用于向对象添加属性。
您可以使用Object.assign
复制其他对象的值,或使用点或括号表示法直接设置属性。
Object.assign(data.user_data, {"name": "tom"})
// or
data.user_data.name = "tom";
var data = {
"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}
},
data1 = {
"user_data": {
"_id": "5806319c08756025b4c7287b",
"email": "a@adsfd.com",
"password": "cool123",
}
};
Object.assign(data.user_data, {
"name": "tom"
})
// or
data1.user_data.name = "tom";
console.log(data, data1);

答案 3 :(得分:2)
尝试这样,它会将您的新密钥直接添加到您的对象
data.name = "tom";