为了账号安全,请及时绑定邮箱和手机立即绑定

将字典转换为JSON

将字典转换为JSON

潇潇雨雨 2019-11-05 16:34:13
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
查看完整描述

3 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

json.dumps()将字典转换为str对象,而不是json(dict)对象!因此,您必须使用方法将其加载str到dict才能使用json.loads()


请参阅json.dumps()作为保存方法和json.loads()检索方法。


这是代码示例,可以帮助您进一步了解它:


import json


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

r = json.dumps(r)

loaded_r = json.loads(r)

loaded_r['rating'] #Output 3.5

type(r) #Output str

type(loaded_r) #Output dict


查看完整回答
反对 回复 2019-11-05
?
慕村9548890

TA贡献1884条经验 获得超4个赞

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 name

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


查看完整回答
反对 回复 2019-11-05
?
蛊毒传说

TA贡献1895条经验 获得超3个赞

无需通过使用将其转换为字符串 json.dumps()


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

file.write(r['is_claimed'])

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

您可以直接从dict对象获取值。


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 508 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信