JavaScript - 如何动态添加到嵌套对象数组

时间:2017-01-23 05:25:08

标签: javascript templates facebook-messenger-bot

我正在尝试创建一个可以根据我输入的数字创建按钮的信使机器人。代码如下所示:

let messageData = {
    "attachment": {
        "type": "template",
        "payload": {
            "template_type": "button",
            "text": text[1],
            "buttons":[]
        }
    }
}

说“按钮”的部分:[]是我想按照这种格式添加按钮(在[]内部)的地方:

{
   "type":"postback",
   "title":"button" + i //where i is the button number,
   "payload":"button" + i
}

我将如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

messageData.attachment.payload.buttons.push(obj) 

.访问对象的密钥,也可以这样做messageData['attachment']

之间的区别
messageData.attachment

messageData['attachment']

是第二个可以采用变量而不是字符串,例如

var use_key = 'attachment';
messageData[use_key];

将访问与上述其他两个相同的内容。

JSON只是JavaScript Object Notation的缩写。你完全像你的第二个例子那样:

{
   "type":"postback",
   "title":"button" + i //where i is the button number,
   "payload":"button" + i
}

您可以将其分配给变量以将其传递到推送中,或者完全按原样传递。与字符串或数字没有太大区别。不要让所有额外的信息吓到你。