我是编码的新手,我正在制作一个访问API的不和谐机器人,但是我正在使用的特定功能根本无法正常工作,在api中,所有内容都显示了这样的内容,
[{imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/F06C5733_large.png", manifestId: 5733,…},…]
0: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/F06C5733_large.png", manifestId: 5733,…}
1: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/7F34984_large.png", manifestId: 984,…}
2: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/E6B6417_large.png", manifestId: 417,…}
3: {,…}
4: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/845E743_large.png", manifestId: 743,…}
5: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/3E9F5241_large.png", manifestId: 5241,…}
6: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/9C766302_large.png", manifestId: 6302,…}
7: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/65696303_large.png", manifestId: 6303,…}
8: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/25A56304_large.png", manifestId: 6304,…}
9: {imageUrl: "https://cdn.thetrackernetwork.com/cdn/fortnite/BBB66307_large.png", manifestId: 6307,…}
您可以看到它的列表,而不是字典,所以我不能使用与其他命令相同的代码,因为那是字典
if req.status_code == 200:
try:
print(req.json())
lifetime_stats = req.json()['lifeTimeStats']
return lifetime_stats[0:]
except KeyError:
return False
else:
return False
我试图为此使用的代码是
if req.status_code == 200:
try:
print(req.json())
storefront_catalog = req.json()[0]
return storefront_catalog()
except KeyError:
return False
else:
return False
当我尝试将req.json的结尾设为字符串时,我不断收到错误TypeError: list indices must be integers or slices, not str
,因此我将其设为一个数字并从return storefront_catalog
中删除了该数字,现在它正在搜索api并在控制台中显示所有内容,然后给出错误TypeError: 'dict' object is not callable
我可能在这里说了一些错误,因为我说我对编码和python很陌生。
感谢提供帮助的人
答案 0 :(得分:1)
这只是一个猜测,但看来您的最新错误是执行return storefront_catalog()
的结果。由于此时storefront_catalog
并不是可调用的对象而是字典,因此您不能像方法那样调用它。我不确定您要使用此return语句做什么,但是如果您想“使其正常工作”,则可以尝试使用return storefront_catalog
。顺便说一句,我建议在调试代码时使用type
方法作为预备步骤。这将告诉您您正在使用哪种类型,并应帮助您弄清楚哪里出了问题。您可以像这样用print
来调用它:
print(type(storefront_catalog))