Python无法访问字典

时间:2019-03-25 14:12:04

标签: python json

尝试在python中访问字典时获取TypeError: string indices must be integers。我尝试使用json.loads(r2),但会产生"TypeError: the JSON object must be str, bytes or bytearray, not dict"

甚至不确定Im是否在正确的轨道上,我所要做的就是将看起来像一个长字符串的JSON转换成x['SomeKey']之类的东西,并使用{{1} }或类似的内容?

iteritems()

3 个答案:

答案 0 :(得分:2)

r.json()已经返回字典,所以我不确定为什么将r2传递给json.dumps并返回字符串(因此s)。您收到的错误消息甚至表明(“ TypeError:JSON对象必须为str,字节或字节数组,而不是 dict ”)

您的代码应为

r = requests.get(url, headers=headers)
r2 = r.json()
print(r2['remotecontrol_id'])

答案 1 :(得分:1)

问题在于方法dumps将python的dictionary转换为string,因此在行seq['remote...']中您正在访问string。您应该访问变量r2而不是seq

答案 2 :(得分:0)

好吧,我明白了,有点...

对于r2中的i:

print(r2 ['stuff'] [0] ['someval1']) print(r2 ['stuff'] [1] ['asomeval2'])

无论如何,热门作品

感谢所有很棒的建议!