下午好。
我需要json,其中包含用于Adaptive Card(机器人框架)布局的基本模板。
这是这个json:
typedef
我还有一个循环,该循环从源中获取数据并从中形成另一个json。
typedef t;
t *t_ptr;
然后我结合这些json。
这很好用,但是当您再次检索数据时,数据将增加一倍。
如何解决?
谢谢。
答案 0 :(得分:0)
似乎每次创建新卡时,您都将在while循环中创建的JSON对象附加到所需的JSON对象。因此,下次您尝试创建新卡时,来自上一个请求的数据仍存储在所需的JSON对象中。为了避免这种情况,请创建所需JSON对象的副本,并将其存储在while循环之前的其他变量中。您可以使用JSON.parse(JSON.stringify(obj))
创建JSON对象的副本。
您的代码应如下所示:
// create a copy of the required JSON Object
// and store it in a new variable
const card = JSON.parse(JSON.stringify(tender));
var i = 0;
while (i < me['value'].length) {
let feed = {
"type": "ColumnSet",
"separator": true,
...
}
// push feed to `card` instead of `tender`
card.body.push(feed);
i++;
}
...
// send `card` to user instead of `tender`
await turnContext.sendActivity({
text: "Double Data Card",
attachments: [CardFactory.adaptiveCard(card)]
});