You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Microsoft Bot Framework中用JSON变量替代Prompts.choice硬编码选项

如何将Yes/No选项从硬编码改为从JSON文件调用?

没问题,这其实很简单,分几步就能搞定:

1. 先创建存储选项的JSON文件

新建一个JSON文件(比如命名为promptOptions.json),把你的Yes/No选项存进去,结构清晰点后续扩展也方便:

{
  "confirmationChoices": {
    "yes": "Yes",
    "no": "No"
  }
}

2. 在代码中引入这个JSON文件

在Node.js环境下,直接用require就能轻松加载JSON文件,不需要额外依赖:

// 注意路径要根据你的文件实际位置调整
const promptConfigs = require('./promptOptions.json');

3. 修改原来的Prompt代码

把原来硬编码的"Yes|No"换成从JSON里取出的变量,按照要求拼接成分隔符格式:

// 从JSON中获取选项并拼接成"|"分隔的字符串
const yesNoChoices = `${promptConfigs.confirmationChoices.yes}|${promptConfigs.confirmationChoices.no}`;
builder.Prompts.choice(session, q15, yesNoChoices, { listStyle: builder.ListStyle.button });

额外小技巧:如果你的Bot Builder版本支持数组选项

有些新版本的choice提示支持直接传入数组形式的选项,这样代码会更简洁:

// 直接传入数组,无需手动拼接字符串
builder.Prompts.choice(session, q15, [promptConfigs.confirmationChoices.yes, promptConfigs.confirmationChoices.no], { listStyle: builder.ListStyle.button });

这样以后要修改选项文本,直接编辑JSON文件就行,不用动业务代码啦~

内容的提问来源于stack exchange,提问作者Tyler Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:41:18