嘿,我有問題訪問一些列表。
字符串索引必須是整數?
我可以使用此代碼訪問Items
:
data = session.get(BASE_URL + 'tori_market.php',params={'format': 'json'}).json()
except ValueError:
for item in data['items']:
print(item['price'])
但使用相同的代碼我無法訪問User
:
data = session.get(BASE_URL + 'tori_market.php',params={'format': 'json'}).json()
except ValueError:
for users in data['user']:
print(user['max'])
編輯:我已經發布了錯誤的代碼,這裏是我正在使用的那個。
data = session.get(BASE_URL + 'tori_market.php',params={'format': 'json'}).json()
except ValueError:
for users in data['user']:
print(users['balance'])
它有什麼問題?
您可以檢查如何在此link中構建API目錄。
完整回溯是:
Traceback (most recent call last):
File "/Users/Cristi/Desktop/RealBot/prova.py", line 34, in <module>
data = session.get(BASE_URL + 'tori_market.php',params={'format': 'json'}).json()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/requests/models.py", line 799, in json
return json.loads(self.text, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/json/__init__.py", line 318, in loads
return _default_decoder.decode(s)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/json/decoder.py", line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/json/decoder.py", line 361, in raw_decode
raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)
在上述異常處理,又發生了異常:
Traceback (most recent call last):
File "/Users/Cristi/Desktop/RealBot/prova.py", line 37, in <module>
print(users['balance'])
TypeError: string indices must be integers
只要它是一個需要密碼頁面,我可以給你的截圖,here。
什麼是錯誤你得到那麼** **完全回溯?你是否證實'數據'有這樣一個關鍵?您提供給我們的文檔鏈接受密碼保護,我們在沒有帳戶的情況下看不到任何內容。 –
從mu的答案你可以看到爲什麼我們需要有完整的錯誤信息;它給我們提供了一個線索,它是引發異常的'print(user ['max'])'行。你在該代碼中的其他地方定義了「user」嗎? –