javascript - 将键值动态添加到 Javascript 中的嵌套对象

标签 javascript json object

这可能是 this 的副本但在那里没有得到适当的解决方案。我有如下反对意见,

var replyDataObj = {

                  "department": {
                    "name": getCache("departmentName")
                  },
                  "subject": replyEmailSubject,  
                  "payload": {
                    "email": {
                      "contents": {
                        "content": [
                          {
                            "type": "html",
                            "value": replyEmailContent
                          }   
                        ]
                      },
                      "emailAddresses": {
                        "from": fromEmailId,
                        "to": {
                          "address": [
                            toEmailId
                          ]
                        }        
                      }
                    }
                  }  
            }

我想根据抄送字段是否存在,动态地将以下键值添加到“emailAddresses”键,

"cc": {
         "address": [
           ccEmailId
          ]
      }  

所以它看起来像,

var replyDataObj = {

              "department": {
                "name": getCache("departmentName")
              },
              "subject": replyEmailSubject,  
              "payload": {
                "email": {
                  "contents": {
                    "content": [
                      {
                        "type": "html",
                        "value": replyEmailContent
                      }   
                    ]
                  },
                  "emailAddresses": {
                    "from": fromEmailId,
                    "to": {
                      "address": [
                        toEmailId
                      ],
                    "cc": {
                      "address": [
                         ccEmailId
                        ]
                      } 
                    }        
                  }
                }
              }  
        }

我尝试使用 object[key] 添加它,如下所示,object.key 但没有成功

replyDataObj[payload][emailAddresses][cc]={
     "address": [
       ccEmailId
      ]
  } 

我尝试了多种方法并进行了很多搜索,但没有得到解决方案。在这方面的任何帮助将不胜感激。谢谢。

最佳答案

将字符串放入[]:

replyDataObj['payload']['emailAddresses']['cc']={
     "address": [
       ccEmailId
      ]
  } 

关于javascript - 将键值动态添加到 Javascript 中的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44925692/

相关文章:

ios - json 注释未显示在 mapview 上

java - 为什么 Object clone() 方法仅适用于实现 Cloneable 接口(interface)的类?

Javascript:如何将包含对象的对象转换并映射到数组中?

javascript - cakephp javascript动态更新

javascript - 两个ajax表单不能同时工作

json - 如何使用 JSON 更新 Solr 中的多个文档?

java - 如何在 mockmvc 中将模拟对象作为 JSON 发送

javascript - 使用正则表达式仅获取一场匹配

javascript - 在 Javascript 中使用 For 循环的 innerHTML

javascript - 连接到 HTML5 应用程序的外部服务器