python - 如何从响应中获取场地 ID
问题描述
由于我刚开始使用 Python,因此在访问密钥时遇到了一些困难。
我想遍历我作为 JSON 响应获得的每个 Foursquare 场地,以获取场地 ID。然后应将场地 ID 作为参数添加,以获取场地的所有详细信息。
我已经用 for 循环试过了,但它不起作用:
for a in data['response']['groups']['items']['venue']:
my_place_id = place['id']
venue_ID_resp = requests.get(url=url_venue_details,params=my_place_id)
错误信息:
for a in data['response']['groups']['items']['venue']:
TypeError: list indices must be integers or slices, not str
响应如下所示:
'response':{
'groups':[
{
'items':[
{
'reasons':{
'count':0,
'items':[
{
'reasonName':'globalInteractionReason',
'summary':'This ' 'spot ' 'is ' 'popular',
'type':'general'
}
]
},
'referralId':'e-0-52bf5eca498e01893b7004fb-0',
'venue':{
'categories':[
{
'icon':{
'prefix':'https://ss3.4sqi.net/img/categories_v2/travel/hostel_',
'suffix':'.png'
},
'id':'4bf58dd8d48988d1ee931735',
'name':'Hostel',
'pluralName':'Hostels',
'primary':True,
'shortName':'Hostel'
}
],
'id':'52bf5eca498e01893b7004fb',
'location':{
我只想获取场地 ID,例如:
print(my_place_id)
4bf58dd8d48988d1ee931234
4bf58dd8d48988d1ee945225
4bf58dd8d48988d1ee931888
4bf58dd8d48988d1ee564563
.
.
.
解决方案
您的 Json 包含列表。你可以得到身份证:
my_id = data['response']['groups']['items'][0]['venue']['categories'][0]['id']
注意:如果列表中有更多元素,则可以创建 for 循环并获取所有 ID。
推荐阅读
- android - Flutter how to solve AndroidX incompatibility
- java - JAVA_HOME 设置错误
- scala - 如何在 Scala 中定义提升函数
- python - 如何在不使用熊猫的情况下将来自不同列表的数据添加到 csv 文件中?
- python - Unable to select the table data in scrapy
- django - Error creating a multi-step form using Django session
- java - How do I add an ActionListener to a JCheckBox?
- javascript - Checkbox dynamic select with Gravity Forms
- python - Use max function to find longest string in list of lists
- node.js - How to process webcam images on nodejs using Posenet?