将新的键值对推送到 json

Posted

技术标签:

【中文标题】将新的键值对推送到 json【英文标题】:Pushing new key value pair to json 【发布时间】:2017-03-07 02:19:12 【问题描述】:

这是我的 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");

但我总是得到 ​​p>

 "user_data": 
    "_id": "5806319c08756025b4c7287b",
    "email": "a@adsfd.com",
    "password": "cool123",
  

我该怎么做。请帮忙

【问题讨论】:

Object.assign(data.user_data, "name": "tom") 【参考方案1】:

您想将另一个对象附加到 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)

【讨论】:

当我尝试data["user_data"]["age"] = "tom";时收到此错误TypeError: Cannot set property 'age' of undefined 你的对象需要在 sn-p 中看起来像【参考方案2】:

简单)

  o = 
    "_id": "5806319c08756025b4c7287b",
    "email": "a@adsfd.com",
    "password": "cool123",
  

然后

o.name = "tom"

【讨论】:

【参考方案3】:

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

data.name = "tom";

【讨论】:

【参考方案4】:

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);

【讨论】:

以上是关于将新的键值对推送到 json的主要内容,如果未能解决你的问题,请参考以下文章

如何从字典列表中向现有键值对添加新的键值对?

在 React 中使用 useContext 和 useReducer 创建新的键值对

将 json 格式的键值对转换为以符号为键的 ruby​​ 哈希的最佳方法是啥?

在 React JS 中显示来自 Json 的键值对

如何在php中的数组中插入新的键值对?

Python基础--dict字典操作