我正在使用restapi查找地址详细信息。我给它传递一个地址,它会传回该地址的详细信息:lat/long等。我在响应上使用带有json()方法的requests库,并将json响应添加到一个列表中,以便稍后进行分析。你知道吗
我发现,当一个地址只有一个匹配项时,json响应中的'FoundAddress'键包含一个字典,但当找到多个匹配项时,'FoundAddress'键包含一个字典列表。你知道吗
返回的json类似于:
对于单个匹配:
{
'FoundAddress': {AddressDetails...}
}
对于多个匹配项:
{
'FoundAddress': [{Address1Details...}, {Address2Details...}]
}
我不想编写代码来处理单个匹配,然后再处理多个匹配。你知道吗
如何修改“FoundAddress”,以便在有单个匹配项时将其更改为具有单个字典条目的列表?所以我得到了这样的结果:
{
'FoundAddress': [{AddressDetails...}]
}
如果可以的话,我就修改API。如果你做不到,你就没有什么神奇的办法了。你只需要处理特殊情况。您可能可以在代码中的一个位置使用以下函数来执行此操作:
然后从那里开始对找到的地址执行任何操作,就好像值总是一个包含一个或多个项的列表一样。你知道吗
如果是外部API以这种格式发送响应,那么就不能真正更改
FoundAddress
本身,因为它总是以这种格式到达。你知道吗如果愿意,您可以更改响应,因为您可以完全控制收到的内容:
或者,您可以在地址使用时进行区分:
然后:
但老实说,我得说清楚:
或者响应在
a if b else c
一行上固定。你知道吗相关问题 更多 >
编程相关推荐