如何使用python从嵌套的json中获取数据?

我试图从这个 api 响应中获取一些数据。试图打印杀戮数量,但我不明白如何。因为在“stats”之后有很多“元数据”键。


这是代码


import requests 

import json

import sys


url = 'https://cod-api.tracker.gg/v1/standard/bo4/profile/1/Edr1X'

headers = {'secret'}

 r = requests.get(url, headers=headers)


print(r.text)


#Get Kills amount

data = r.text



#load the json to a string

 resp = json.loads(data)


#get the stats

print (resp['data']['stats'])


#get the amount of kills how?

print (resp['data']['stats']['metadata']['kills'])

我怎样才能获得击杀的价值?我必须遍历“元数据”吗?用for循环?


UYOU
浏览 222回答 1
1回答

子衿沉夜

print([metadata['value'] for metadata in resp['data']['stats'] if metadata['metadata']['key'] == 'Kills'])使用列表推导遍历每个元数据以查看其键是否为'Kills'.或者,如果 kills 始终是列表的相同索引,则您可以只请求该列表位置。这是我为验证您的信息而编写的测试:def test_get_kills(self):    import json    resp = json.loads(resp)    kills = [metadata['value'] for metadata in resp['data']['stats'] if metadata['metadata']['key'] == 'Kills']    self.assertEqual(161, next(kills))如果列表理解不是你的东西(它应该是),那么循环中的等价物将是:for metadata in resp['data']['stats']:    if metadata['metadata']['key'] == 'Kills':        kills = metadata['value']
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python