Jquery 将新的键值对推送到json

Jquery 将新的键值对推送到json,jquery,arrays,json,node.js,object,Jquery,Arrays,Json,Node.js,Object,这是我的Json输出 "user_data": { "_id": "5806319c08756025b4c7287b", "email": "a@adsfd.com", "password": "cool123", } 如何添加新的键值对以便 "user_data": { "_id": "5806319c08756025b4c7287b", "email": "a@adsfd.com", "password": "cool123",

这是我的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",
  }

我怎样才能做到这一点。请帮助

您想将整个对象附加到用户数据,而不是另一个对象

尝试使用数组表示法

data["user_data"]["name"] = "tom";

演示:

data={“用户数据”:{
“_id”:“5806319c08756025b4c7287b”,
“电子邮件”:a@adsfd.com",
“密码”:“cool123”,
}};
数据[“用户数据”][“名称”]=“tom”;
console.log(data)
该方法用于将元素推送到数组中,而不是将属性添加到对象中

可以使用从另一个对象复制值,也可以使用点或括号符号直接设置属性

Object.assign(data.user_data, {"name": "tom"})
// or
data.user_data.name = "tom";
var数据={
“用户数据”:{
“_id”:“5806319c08756025b4c7287b”,
“电子邮件”:a@adsfd.com",
“密码”:“cool123”,
}
},
数据1={
“用户数据”:{
“_id”:“5806319c08756025b4c7287b”,
“电子邮件”:a@adsfd.com",
“密码”:“cool123”,
}
};
Object.assign(data.user\u数据{
“姓名”:“汤姆”
})
//或
data1.user_data.name=“tom”;
console.log(数据,data1)简单)

然后

o.name = "tom"

尝试这样做,它会将新密钥直接添加到对象中

data.name = "tom";

Object.assign(data.user\u data,{“name”:“tom”})
我遇到了这个错误
TypeError:当我尝试
data[“user\u data”][“age”]=“tom”时,无法设置未定义的属性“age”您的对象需要与代码段中的类似
o.name = "tom"
data.name = "tom";