当我们遇到类似于{‘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对象,可继续处理