我正在嘗試自動生成一個 JSON 物件,以創建一個動態互動式串列訊息,該訊息將發送給 WhatsApp 上的用戶。
我需要以下格式的 JSON 物件:
"sections": [
{
"title": "Main Title",
"rows": [
{
"title": "row 1 title",
},
{
"title": "row 2 title",
}
]
}
]
上面的代碼會生成一個這樣的串列
但我不想硬編碼該行的標題部分{"title": "row 1 title",},{"title": "row 2 title", }。我嘗試使用下面的方法,從陣列中獲取標題值并使用擴展語法將其合并,但它只回傳未定義并且不組合所有物件。
方法.js
async function genJSON() {
var arr = ['row 1', 'row 2', 'row3']
let data1, data2, d = {}
let i = 0
while (i < arr.length) {
data1 = JSON.parse(`{"title": "${arr[i]}"}`)
data2 = JSON.parse(`{"title": "${arr[i 1]}"}`)
i
d = { ...data1, ...data2 }
}
console.log(d)
catch (e) {
console.log(e)
}
}
genJSON()
輸出:

互動串列訊息:https ://developers.facebook.com/docs/whatsapp/guides/interactive-messages/
如何實作以下輸出 {"title": "row 1",},{"title": "row 2", ..} ?任何幫助或建議表示贊賞。
uj5u.com熱心網友回復:
您的代碼有兩個問題:
- 您試圖合并具有相同鍵的兩個字典,因此前一個鍵被覆寫。相反,您應該使用 JSON 陣列并附加到它。
data2將是未定義的i = arr.length - 1
我已經修復了以下代碼片段中的兩個錯誤
function genJSON() {
var arr = ['row 1', 'row 2', 'row3']
try {
let d = []
for (const row of arr) {
d.push({
title: row
})
}
console.log(d)
} catch (e) {
console.log(e)
}
}
genJSON()
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/493540.html
下一篇:如何編輯最后一個機器人發送
