循环通过json请求Alexa技能

问题描述 投票:0回答:2

我似乎遇到了循环浏览我从Alexa技能中的URL中提取的数据的问题,这是我的示例代码:

def get_elevator_status():
session_attributes = {}
card_title = "Septa Elevator Status"
reprompt_text = ""
should_end_session = False


response = urllib2.urlopen(API_BASE_URL + "/elevator")
septa_elevator_status = json.load(response) 


for elevators in septa_elevator_status['results']:
    speech_output = "The following elevators are out of service." "On " + elevators['line'] + " at station " + elevators['station'] + " the " + elevators['elevator'] + " elevator has " + elevators['message']

如果我在python shell中运行代码并打印出结果(如果有多次中断),则打印出所有行。但是,当我测试我的Alexa技能并要求停电时,即使有多次电梯停电,它也只报告一个结果。我错过了一些工作吗?这段代码应该循环通过并说明找到的所有结果吗?

python aws-lambda alexa alexa-skills-kit alexa-skill
2个回答
0
投票

你可以发布'响应'json,我的猜测是json没有正确形成


0
投票

每当你用特定的speech_output覆盖elevators时,循环遍历结果集。相反,你必须将每个结果连接到speech_output

for elevators in septa_elevator_status['results']:
    speech_output =  speech_output  + " <s> The following elevators are out of service." "On " + elevators['line'] + " at station " + elevators['station'] + " the " + elevators['elevator'] + " elevator has " + elevators['message'] + "</s>"

<s>是句子标记,只有在使用SSML时才使用它。

© www.soinside.com 2019 - 2024. All rights reserved.