为什么我的 google 操作 "suggestions" 只显示最后一个条目?
Why are my google actions "suggestions" only showing the last entry?
我正在从我自己的 webhook 创建响应。
现在我想发送建议数组,但正在努力在数组中创建数组。这些需要如何设置?
$jsonResponse = json_encode(array(
"session" => array(
"params" => array(
"antA" => "Hello Answer A",
"antB" => "Hello Answer B",
"extrainfo" => "This is some extra information"
)
),
"prompt" => array(
"override" => false,
"firstSimple" => array(
"speech" => "<speak>".$speech."</speak>"
),
"suggestions" => array(
"title" => "aa",
"title" => "bb",
"title" => "cc"
),
)
));
问题是 prompt.suggestions
是 specified to take an indexed array of Suggesion objects,也就是说,一个从数字映射到对象的数组(或者只是一个列表,假定编号)。但是您提供了一个 associative 数组——也就是说,将 属性 名称映射到某物。此外,您的关联数组将所有内容都命名为相同的。 Php 对索引数组和关联数组使用类似的语法,因此有时您可能不清楚您实际需要什么。
在这种情况下,您的那部分代码可能看起来更像这样:
"suggestions" => array(
array("title" => "aa"),
array("title" => "bb"),
array("title" => "cc")
)
我正在从我自己的 webhook 创建响应。
现在我想发送建议数组,但正在努力在数组中创建数组。这些需要如何设置?
$jsonResponse = json_encode(array(
"session" => array(
"params" => array(
"antA" => "Hello Answer A",
"antB" => "Hello Answer B",
"extrainfo" => "This is some extra information"
)
),
"prompt" => array(
"override" => false,
"firstSimple" => array(
"speech" => "<speak>".$speech."</speak>"
),
"suggestions" => array(
"title" => "aa",
"title" => "bb",
"title" => "cc"
),
)
));
问题是 prompt.suggestions
是 specified to take an indexed array of Suggesion objects,也就是说,一个从数字映射到对象的数组(或者只是一个列表,假定编号)。但是您提供了一个 associative 数组——也就是说,将 属性 名称映射到某物。此外,您的关联数组将所有内容都命名为相同的。 Php 对索引数组和关联数组使用类似的语法,因此有时您可能不清楚您实际需要什么。
在这种情况下,您的那部分代码可能看起来更像这样:
"suggestions" => array(
array("title" => "aa"),
array("title" => "bb"),
array("title" => "cc")
)