1

我正在尝试实现这样的目标,我有一个 OOB 数据和一些用户输入的文本,我能够解析 JSON 的 OOB 数据。但我无法在下面的示例输入中检查用户输入数据测试数据的模式。有什么建议我该怎么做?

u: (< \[ * input _*  \] _*) ^keep() ^repeat() 
$inputData=_0 

$secondInput=%originalinput

getNameFromJson($inputData $secondInput)

$_tmp = ^jsonparse( $inputData ) 

\n name: $_tmp.user, phone: $_tmp.speed 

if(^match(TEST)) {
^reuse(TEST) 
} else if(match(THANKS)){
^reuse(THANKS) 
}

u: TEST (test)  ^keep() ^repeat()
    Some test impl

u: THANKS (~thankConcept)  ^keep() ^repeat()
    Glad to be of help.

我的输入就像[ input {user:"test", speed:10} ] 测试数据

4

1 回答 1

2

在 simplecontrol.top 中,您可以在MAIN之前放置以下规则

u: ( \[ _* \] )

$requestData = ^jsonparse(^original(_0))
^fail(SENTENCE)

$requestData 将捕获您的 JSON 输入(在 OOB 中提供)。^fail()函数在这里很重要,因为它将允许进一​​步处理您的输入句子。在上述规则之后如果您保留u: MAIN (),因为它在 harry bot 的 simplecontrol.top 中提供,您可以在任何匹配主题中将“测试数据”与以下规则匹配。

u: (Test Data) ^keep() ^repeat() Some test impl
于 2017-07-14T18:10:22.833 回答