TypeError - 字符串索引必须是整数,而不是 str

Tar*_*gar -1 python typeerror

当我打印从MongoDB检索到的数据时,我得到以下输出:

[{"username": "ashish.mishra", "password": "hxMNwFOa", "frequency": "Daily", "name": "Ashish Mishra", "email": "ashish@mail.com"}]
Run Code Online (Sandbox Code Playgroud)

这是我检索它的方法:

user = db.UserData.find()
user = dumps(user)
print user //this is the printed version above
Run Code Online (Sandbox Code Playgroud)

我想访问每个键。我试过:

print user['username']
Run Code Online (Sandbox Code Playgroud)

print user[0]['username']
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

TypeError: string indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)

我知道有很多关于这些的线索,但到目前为止我还没有成功。知道如何做到这一点吗?

ale*_*o_o 5

您必须先将字符串转换为字典,如下所示:

import json

# initialize user here
user_dict = json.loads(user)
print user_dict[0]['username']
Run Code Online (Sandbox Code Playgroud)

  • 使用“dumps”将对象转换为 JSON,然后使用“loads”返回对象是相当愚蠢的。只需使用原始对象即可。 (2认同)