使用请求,如何迭代命令以获取数据

时间:2018-09-24 19:00:47

标签: python-3.x python-requests

要搜索的数据:

{
  "epicUserHandle": "HaaZeeY",
  "stats": {
    "p2": {
      "trnRating": {
        "label": "TRN Rating",
        "field": "TRNRating",
        "category": "Rating",
        "valueInt": 1193,
        "value": "1193",
        "rank": 3210238,
        "percentile": 56.0,
        "displayValue": "1,193"
      },
      "top1": {
        "label": "Wins",
        "field": "Top1",
        "category": "Tops",
        "valueInt": 46,
        "value": "46",
        "rank": 15163718,
        "percentile": 0.8,
        "displayValue": "46"
      },

我的代码:

url = "https://api.fortnitetracker.com/v1/profile/{}/{}".format(platform, 
username)
headers = {'TRN-Api-Key' : 'MY API KEY'}

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

#p2 = Solo
#p10 = Duo
#p9 = Squad

tempory_dict = {}

result = r.json()['stats']['p2']['top1']

for r in result:
    #WHAT DO I PUT HERE

tempory_dict['Wins'] = #VALUE

print(tempory_dict['Wins'])

我在这里需要做什么?我希望它找到"value"并将其保存在tempory_dict['Wins']中。我是新手,不知道如何遍历所有请求以寻找价值。

谢谢。

1 个答案:

答案 0 :(得分:1)

实际上您几乎在那里,有: result = r.json()['stats']['p2']['top1'],您实际上是在分配
{ "label": "Wins", "field": "Top1", "category": "Tops", "valueInt": 46, "value": "46", "rank": 15163718, "percentile": 0.8, "displayValue": "46" }result变量中,因此您所需要做的就是进一步并分配: tempory_dict['Wins'] = result['value']