如何用Python遍历JSON中的轮盘游戏outcome结果?
提取轮盘游戏结果中的outcome值方法
为验证某网站合法性,我调用API获取了过去1000条轮盘游戏结果,接口返回的JSON结构示例如下:
{"success": true,"response": {"total": 1000000,"fetched_total": 1000,"offset": 0,"limit": 1000,"data": [{"id": 6414202,"round_id": 6414446,"player_count": 8,"outcome": 6,"hash": "f5be91081cfbec6c216f1ca4c167b5ec585b1c1bd30f2e1cdb90ca0706f15f1e","secret": "df2b069639eb81085a90d46d8593404d739e9a6cff8ce5630e6d39e8bf5fed8b","secret_badge": 130,"secret_index": 85549,"game_opened_timestamp": "2022-08-08 17:17:09"},{"id": 6414201,"round_id": 6414445,"player_count": 8,"outcome": 12,"hash": "753eeb83ff534fdc12441eb7fb2f34ae7678d06355d10a2dd91f54102ef74fc1","secret": "f5be91081cfbec6c216f1ca4c167b5ec585b1c1bd30f2e1cdb90ca0706f15f1e","secret_badge": 130,"secret_index": 85550,"game_opened_timestamp": "2022-08-08 17:16:45"}]},"cache": false,"error_code":0}
我写的Python代码能请求并打印完整JSON,但现在只想打印每局游戏的outcome值(比如示例里的6、12)。目前代码只能打印第一条结果的outcome,想通过循环遍历实现需求,当前代码如下:
import requests url = "https://www.wtfskins.com/api/v1/rouletteroundhistory/?limit=1000&offset=0" response = requests.get("https://www.wtfskins.com/api/v1/rouletteroundhistory/?limit=1000&offset=0") file = response.json() #print(file) print(file['response']['data'][0]['outcome']) input()
修改后的代码实现
只需要遍历file['response']['data']这个列表,逐个取出每个元素的outcome字段即可:
import requests url = "https://www.wtfskins.com/api/v1/rouletteroundhistory/?limit=1000&offset=0" response = requests.get(url) # 复用定义好的url变量,避免重复写链接 file = response.json() # 遍历data列表中的每一条游戏记录 for game in file['response']['data']: print(game['outcome']) input()
说明
file['response']['data']是包含所有游戏结果的列表,每个元素是一局游戏的字典数据- 通过
for game in ...循环遍历列表,每次循环的game就是单局游戏的字典 - 直接通过
game['outcome']获取该局的结果值并打印
内容的提问来源于stack exchange,提问作者stinkiewinkie
相关产品推荐
相关产品推荐

