0

首先,如果我对此使用了不正确的术语,我深表歉意,我只是在学习使用 python 和 json。

我正在尝试从我从此代码中获得的这个 json 代码中打印“名称”、“级别”、“类”和“经验”值。

pathAPI = requests.get("http://api.pathofexile.com/ladders/Standard?limit=10")
data = json.loads(pathAPI.text)
print(data) 
for character in data['entries']:
    print('============================================================')
    print("Rank: ", character["rank"])
    print(character['character'])  

我得到的输出看起来像这样

Rank:  1
{'name': 'PenDora', 'level': 100, 'class': 'Scion', 'id': 'cc248e0d23c849d71b40379d82dfc19b200bdb7b8ac63322f06de6483aaca5ea', 'experience': 4250334444}

但我希望它看起来像这样

PenDora
100
Scion
4250334444

我试图在前一个下添加另一个 for 循环,但我收到一条错误消息“TypeError:字符串索引必须是整数”

pathAPI = requests.get("http://api.pathofexile.com/ladders/Standard?limit=10")

data = json.loads(pathAPI.text)
print(data) 
for character in data['entries']:
    print('============================================================')
    print("Rank: ", character["rank"])
    print(character['character'])    
    for playerInfo in character['character']:
        print(playerInfo['name'])
        print(playerInfo['level'])
        print(playerInfo['class'])
        print(playerInfo['experience'])

我在这里做错了什么?先感谢您!

4

1 回答 1

4

character['character']是字典,所以你不用循环遍历它for,而是直接用 key 访问它。

例如:

import requests

data = requests.get("http://api.pathofexile.com/ladders/Standard?limit=10").json()

for character in data['entries']:
    print('============================================================')
    print("Rank: ", character["rank"])
    print(character['character']['name'])
    print(character['character']['level'])
    print(character['character']['class'])
    print(character['character']['experience'])

印刷:

============================================================
Rank:  1
PenDora
100
Scion
4250334444
============================================================
Rank:  2
TaylorSwiftVEVO
100
Scion
4250334444
============================================================

... and so on.
于 2019-12-10T22:41:38.353 回答