python将字符串转换成字典的几种方法

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-28 11:37   684   0

当我们遇到类似于{‘a’:1, 'b':2, 'c':3}这种字符串时,想要把它转换成字典进行处理,可以使用以下几种方法:

1. Python自带的eval函数(不安全)

dictstr = '{"a":1, "b":2, "c":{"d":1}}'
mydict = eval(dictstr)

2.使用 ast 模块的 literal_eval 函数(安全)

dictstr = '{"a":1, "b":2, "c":{"d":1}}'
mydict = ast.literal_eval(dictstr)

3.使用 json 模块的 loads 函数

dictstr = '{"a":1, "b":2, "c":{"d":1}}'
mydict = json.loads(dictstr)

使字典有序

from collections import OrderedDict
dictstr = '{"a":1, "b":2, "c":3}'
obj = json.loads(dictstr, object_pairs_hook=OrderedDict) #返回一个class对象,可继续处理

转载于:https://www.cnblogs.com/delav/p/9021452.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP