JavaScript - 如何动态添加到嵌套对象数组
JavaScript - How to dynamically add to a nested object array
我正在尝试制作一个可以根据我输入的数字创建按钮的聊天机器人。代码如下所示:
let messageData = {
"attachment": {
"type": "template",
"payload": {
"template_type": "button",
"text": text[1],
"buttons":[]
}
}
}
说 "buttons":[] 的部分是我要根据此格式添加按钮(在 [] 内)的地方:
{
"type":"postback",
"title":"button" + i //where i is the button number,
"payload":"button" + i
}
我该怎么做?
对于您的示例,您可以这样做:
messageData.attachment.payload.buttons.push(obj)
.
访问对象的key,也可以这样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
}
您可以将它分配给一个变量以将其传递到推送中,或者完全按照原样传递。与字符串或数字没有太大区别。不要让所有额外信息吓到你。
我正在尝试制作一个可以根据我输入的数字创建按钮的聊天机器人。代码如下所示:
let messageData = {
"attachment": {
"type": "template",
"payload": {
"template_type": "button",
"text": text[1],
"buttons":[]
}
}
}
说 "buttons":[] 的部分是我要根据此格式添加按钮(在 [] 内)的地方:
{
"type":"postback",
"title":"button" + i //where i is the button number,
"payload":"button" + i
}
我该怎么做?
对于您的示例,您可以这样做:
messageData.attachment.payload.buttons.push(obj)
.
访问对象的key,也可以这样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
}
您可以将它分配给一个变量以将其传递到推送中,或者完全按照原样传递。与字符串或数字没有太大区别。不要让所有额外信息吓到你。