我在更改值时遇到问题,我在会话开始时就有此上下文
"context": {
"Trips" : {
"Germany": {
"Info": null,
"Dates": null,
"Prices": null,
"Flights": null,
"Layaway": null,
"Requirements": null
}
}
}
当用户请求信息时,如何将Information的值更改为True
我尝试使用这样的数组
"context": {
"Trips" : {
"Germany": [
{
"Info": null
},
{
"Dates": null
},
{
"Prices": null
},
{
"Flights": null
},
{
"Layaway": null
},
{
"Requirements": null
}
]
}
}
然后我使用“ 然后设置上下文”来更改值
"context": {
"remove": "\"<? $Trips.Germany.removeValue({\"Info\"==null\") ?>\"",
"experiences": "<? $Trips.Germany.append({Info : True}) ?>"
}
但是我认为这不是最好的方法。我想在不使用数组的情况下执行此操作。我还有一个问题。
当我使用“ 如果助手识别”时如何访问值?
我有
$Trips.Germany.indexOf("Info")==true
但是我得到了错误:
评估对话框节点ID [response_1_1576705519309]时,出现SpelEvaluationException。条件[$ Trips.Germany.indexOf(“ Info”)== true]的语法有效,但无法求值。检查表达式中的对象是否不为null或超出范围。 SpEL评估错误:EL1008E:在“ JsonArray”类型的对象上找不到属性或字段“ Germany”-也许不是公共的? (日志中还有1个错误)
有没有一种方法可以识别一个值而不依赖其他值?