2017-01-23 5 views
0

Я пытаюсь создать бот-мессенджер, который может создавать кнопки на основе числа, которое я вводил. Код выглядит следующим образом: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

Извините, если этот звук «noobish», но как я могу создать JSON? –

+0

Nvm, я понял. Ваше решение сработало, спасибо вам большое! –

ответ

0

Для примера вы можете сделать это:

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

. обращается ключ объекта, который также может быть сделано таким образом messageData['attachment'] Разница между

messageData.attachment 

и

messageData['attachment'] 

является то, что второй может ta ke переменная вместо строки, например.

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 
} 

Вы можете присвоить его переменной, чтобы передать его в толчок, или просто так, как оно есть. Не сильно отличается от строки или числа. Не допускайте, чтобы вся дополнительная информация вас пугала.

 Смежные вопросы

  • Нет связанных вопросов^_^