嘿,我有问题访问一些列表。
字符串索引必须是整数?
我可以使用此代码访问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”吗? –