dialog - IBM Watson Assistant:无法从对话 JSON 访问定义的实体
问题描述
我使用名为 @ClientStates 的 GUI 创建了一个实体,并添加了我们的客户端支持的状态列表。
我需要查看用户输入的状态是否在 @ClientStates 中,如果是,则打印出一些信息。
我知道这可以通过创建一个检查匹配的对话节点来完成,但是可以在节点中使用 JSON 来完成吗?例如:
{
"output": {
"text": {
"values": [
"<? @ClientStates.contains($State)? 'Yes' : 'No ?>"
],
"selection_policy": "sequential"
}
}
}
如果保存在上下文变量 $State 中的用户输入是 @ClientStates 中的状态之一,则似乎应该打印“是”,如果不是,则应该打印“否”。但是,对于任何输入,唯一的输出是“否”。
此外,我希望下面的代码打印@ClientStates 中的状态列表,但它根本没有输出。
{
"output": {
"text": {
"values": [
"<? @ClientStates ?>"
],
"selection_policy": "sequential"
}
}
}
为什么我无法从对话框 JSON 中访问预定义实体 @ClientStates?
解决方案
只有当它是输入的一部分时,您才能访问对话框中的实体。第二件事是不需要使用“包含”来检查输入是否包含该实体。
利用:
<? @ClientStates ? 'Yes' : 'No ?>
推荐阅读
- module - 按模块 ID 定位模块
- sql-server - 在 SQL Server 中,在 SQL 语句中使用正则表达式来提取列的子集
- python - django 框架无法在谷歌云中创建身份验证令牌
- php - PHP/MySQL:匹配/反对转义停用词
- java - 模态表单不显示
- android - ionic1 cordova androidx 和 androidx-adapter android 构建
- css - 使用 Vue 以编程方式设置输入元素的“焦点”伪类
- flutter - 使用 Flutter 将文件上传到 Digital Ocean Spaces 时如何获取进度信息
- python - 将嵌套的 JSON 结构转换为 Pandas 数据帧
- reactjs - Favicon 未在 Prod 上显示 - 创建 React 应用程序