遍历json请求Alexa ski

2024-10-16 22:31:24 发布

您现在位置:Python中文网/ 问答频道 /正文

在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']

如果我在pythonshell中运行代码并打印出结果(如果有多个中断),它会打印出所有行。但当我测试我的Alexa技能并要求停机时,它只报告一个结果,即使有多个电梯停机。我是不是错过了一些有用的东西?这段代码是否应该循环并说所有结果都是正确的?你知道吗


Tags: 数据代码url示例技巧responsesessiondef
2条回答

你能发布“response”json吗,我猜json的格式不正确

每次用特定的elevators覆盖speech_output时循环遍历结果集。相反,您必须将每个结果连接到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时才使用它。你知道吗

相关问题 更多 >