Python 3.x Python如何从api字典中获取所有ID

Python 3.x Python如何从api字典中获取所有ID,python-3.x,request,Python 3.x,Request,我的代码 我运行时遇到的错误 import requests groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles') groupsIds = groups.json()['id'] 回溯(最近一次呼叫最后一次): 文件“c:/Users/badam/Documents/Request/Testing/Group Checker.py”,第16行,在 groupsIds=gr

我的代码

我运行时遇到的错误

 import requests 
 groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles')
 groupsIds = groups.json()['id']
回溯(最近一次呼叫最后一次):
文件“c:/Users/badam/Documents/Request/Testing/Group Checker.py”,第16行,在
groupsIds=groups.json()['id']
KeyError:'id'
这个列表相当大,有100个ID列表,不管怎样,我可以抓取所有ID并将它们编入一个列表


这是我正在查看的api,结果中有键
数据
,因此迭代它并从
角色
键中获取
id

Traceback (most recent call last):
  File "c:/Users/badam/Documents/Request/Testing/Group Checker.py", line 16, in <module>
    groupsIds = groups.json()['id']
KeyError: 'id'
印刷品:

import json
import requests 


groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles')
groupsIds = groups.json()

# uncomment this to print all data:
# print(json.dumps(groupsIds, indent=4))

for d in groupsIds['data']:
    print(d['group']['id'])
    print(d['role']['id'])
    print('-' * 80)
import json
import requests 


groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles')
groupsIds = groups.json()

# uncomment this to print all data:
# print(json.dumps(groupsIds, indent=4))

all_ids = []
for d in groupsIds['data']:
    all_ids.append(d['group']['id'])
    all_ids.append(d['role']['id'])
    
print(all_ids)

编辑:要存储要列出的所有ID,可以执行以下操作:

...

--------------------------------------------------------------------------------
3904940
26571394
--------------------------------------------------------------------------------
3933808
26746825
--------------------------------------------------------------------------------
3801996
25946726
--------------------------------------------------------------------------------

...
印刷品:

import json
import requests 


groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles')
groupsIds = groups.json()

# uncomment this to print all data:
# print(json.dumps(groupsIds, indent=4))

for d in groupsIds['data']:
    print(d['group']['id'])
    print(d['role']['id'])
    print('-' * 80)
import json
import requests 


groups = requests.get(f'https://groups.roblox.com/v2/users/1283171278/groups/roles')
groupsIds = groups.json()

# uncomment this to print all data:
# print(json.dumps(groupsIds, indent=4))

all_ids = []
for d in groupsIds['data']:
    all_ids.append(d['group']['id'])
    all_ids.append(d['role']['id'])
    
print(all_ids)
print(groups.json()['data'][0]['group']['id'])

请尝试此代码,它将返回id

对于迭代,请尝试以下方法:

groupID=groups.json()['data']

length\u of_data=len(groups.json()['data'])

范围内的i(数据长度):


print(groupID[i]['group']['id'])

如果我想把所有的id都列成一个列表,那么我会怎么做,这样我就可以把所有的id都列在一个列表中,这样我以后就可以查看列表了,例如,把所有的id都列成组=[“2544957”,“id”,“id”]谢谢,我知道已经一周了,但是我怎么能只取第一个id而不是所有id呢?nvm我发现了我是如何打印的(GroupID['data'][0]['id'])