我在序言中说,我只学习了Python,研究了api和JSON大约一个月,但我也先搜索了一下,没有立即发现类似的问题
我试图调用一个API(做API调用?),该API应该返回JSON,但响应如下所示:
{
"result":[
[
"Facility Type",
"Facility Name",
"Facility Address",
"ZIP",
"Phone",
"Facility Amenities / Notes",
"Website",
"Latitude",
"Longitude"
],
[
"Parks",
"Boysen Park",
"951 S. State College Blvd.",
"92806",
"714-765-5191",
"Baseball, softball, volleyball, football, soccer, tennis",
"http://www.anaheim.net/comm_svc/parks/parkDetail.asp?dir=park_boysen",
"33.82610235",
"-117.889968814"
],
[
"Parks",
"Citrus Park",
"104 Atchison St.",
"92805",
"714-765-5191",
"Volleyball, basketball",
"http://www.anaheim.net/comm_svc/parks/parkDetail.asp?dir=park_citrus",
"33.836792198",
"-117.906545597"
]
}
这看起来不像我以前遇到的JSON响应。我习惯了这样的回答(以上面的例子):
{
"result": [
[
"Facility Type":"Parks",
"Facility Name":"Boysen Park",
"ZIP":"92806"
]
]
}
这会让我做一些像
name1 = response['result']['Facility Name']
…把名字命名为“博伊森公园”
对于上述响应,我将如何执行此操作
(这是我获取API/JSON信息的地方:http://anaheim.opendata.junar.com/dataviews/89522/city-parks/)
以下是API请求,以防其他人感兴趣:
http://anaheim.cloudapi.junar.com/api/v2/datastreams/CITY-PARKS-58641/data.ajson/?auth_key=[AUTH_KEY]&limit=5&
当api做出这样的响应时,通常意味着格式基本上是固定的,您可以假设通过索引进行访问在将来不会中断。如果格式改变,他们通常会创建一个新的端点(至少在一个理智的世界里)
我要么通过索引访问并假设端点的值总是相同的,要么使用头为每个条目创建一个dict
将为第一个条目打印以下内容:
如果您使用dict键(直接)访问,您至少可以知道将来是否会发生变化。我也总是添加一些简单的健全性检查,比如。。。所有数组的大小都是9吗
从上述代码执行密钥访问将是:
同样,您也可以假设这些字段在代码中包含什么:
。。与第一个示例相同
相关问题 更多 >
编程相关推荐