2017-01-23 124 views
0

我正在試圖製作一個messenger機器人,它可以基於我輸入的數字創建按鈕。代碼如下所示:JavaScript - 如何動態添加到嵌套對象數組

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

messageData.attachment.payload.buttons.push(obj)其中obj是JSON。 –

+0

對不起,如果這個聲音「不好」,但我將如何創建JSON? –

+0

Nvm,我明白了。你的解決方案奏效,非常感謝你! –

回答

0

爲了您的例子中,你可以這樣做:

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

.訪問對象的關鍵,這也可以做這樣messageData['attachment']

​​

messageData['attachment'] 
之間的區別

是第二個可以ta用一個變量代替一個字符串,例如

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 
} 

你可以把它分配給一個變量將其傳遞到推,或只是正是因爲它是。與字符串或數字沒有多大區別。不要讓所有額外的信息嚇倒你。