Tôi đang học cách sử dụng Python và API (đặc biệt là API World Cup, http://www.kimonolabs.com/worldcup/explorer này)Python và JSON - TypeError danh sách chỉ số phải là số nguyên không str
Các dữ liệu JSON trông như thế này:
[
{
"firstName": "Nicolas Alexis Julio",
"lastName": "N'Koulou N'Doubena",
"nickname": "N. N'Koulou",
"assists": 0,
"clubId": "5AF524A1-830C-4D75-8C54-2D0BA1F9BE33",
"teamId": "DF25ABB8-37EB-4C2A-8B6C-BDA53BF5A74D",
"id": "D9AD1E6D-4253-4B88-BB78-0F43E02AF016",
"type": "Player"
},
{
"firstName": "Alexandre Dimitri",
"lastName": "Song-Billong",
"nickname": "A. Song",
"clubId": "35BCEEAF-37D3-4685-83C4-DDCA504E0653",
"teamId": "DF25ABB8-37EB-4C2A-8B6C-BDA53BF5A74D",
"id": "A84540B7-37B6-416F-8C4D-8EAD55D113D9",
"type": "Player"
},
]
Tôi chỉ đơn giản là cố gắng để in tất cả các firstNames trong API này. Dưới đây là những gì tôi có:
import urllib2
import json
url = "http://worldcup.kimonolabs.com/api/players?apikey=xxx"
json_obj = urllib2.urlopen(url).read
readable_json = json.dumps(json_obj)
playerstuff = readable_json['firstName']
for i in playerstuff:
print i['firstName']
Nhưng khi tôi chạy nó, tôi nhận được báo lỗi "... dòng 8, trong ... Lỗi Loại: chỉ số danh sách phải là số nguyên, không str"
Tôi có nhìn xung quanh để tìm giải pháp, nhưng dường như tìm câu hỏi cho nhiều câu hỏi API "sâu hơn" và tôi chưa thực sự hiểu tất cả, vì vậy bất kỳ trợ giúp hoặc giải thích nào về những gì tôi cần làm sẽ thật tuyệt vời. Cảm ơn bạn!
Chỉ cần một số trí tuệ python chung - các yêu cầu thư viện http://docs.python-requests.org/en/latest/ thường là một nhiều thay thế tốt hơn để sử dụng urllib2. –
Tôi sẽ xem xét nó, cảm ơn! – user3718365
Thay vì url tôi không đọc được cái gì như: @ app.route ('/ test', phương thức = ['GET', 'POST']) def foo(): json_obj = request.json readable_json = json. tải (json_obj) cho tôi trong readable_json: in i ['firstName'] nếu tôi làm như vậy, tôi nhận được TypeError: chuỗi dự kiến hoặc bộ đệm –