猿问

将字典转换为JSON

r = {'is_claimed': 'True', 'rating': 3.5}

r = json.dumps(r)

file.write(str(r['rating']))

我无法访问JSON中的数据。我究竟做错了什么?


TypeError: string indices must be integers, not str


潇潇雨雨
浏览 509回答 3
3回答

缥缈止盈

json.dumps()将字典转换为str对象,而不是json(dict)对象!因此,您必须使用方法将其加载str到dict才能使用json.loads()请参阅json.dumps()作为保存方法和json.loads()检索方法。这是代码示例,可以帮助您进一步了解它:import jsonr = {'is_claimed': 'True', 'rating': 3.5}r = json.dumps(r)loaded_r = json.loads(r)loaded_r['rating'] #Output 3.5type(r) #Output strtype(loaded_r) #Output dict

慕村9548890

json.dumps()返回python字典的JSON字符串表示形式。查看文件您不能这样做,r['rating']因为r是字符串,不再是dict也许你的意思是r = {'is_claimed': 'True', 'rating': 3.5}json = json.dumps(r) # note i gave it a different namefile.write(str(r['rating']))

蛊毒传说

无需通过使用将其转换为字符串 json.dumps()r = {'is_claimed': 'True', 'rating': 3.5}file.write(r['is_claimed'])file.write(str(r['rating']))您可以直接从dict对象获取值。
随时随地看视频慕课网APP

相关分类

Python
我要回答