美文网首页
Python 如何将字符串转为字典

Python 如何将字符串转为字典

作者: caoxinyiyi | 来源:发表于2019-01-18 16:07 被阅读6次

最近频繁用到将str转dict,自己使用过demjson和eval, 结合网上查询的资料,在此做个总结。
主要参考: Python 如何将字符串转为字典

方式一: eval()

自己经常用,主要是简单,但是会有安全问题。

方式二: json.loads()/demjson.encode()

缺点1: 转换成的数据type 是unicode, 需要再进行转换成type=dict
缺点2: json语法规定,数组或对象之中的字符串必须使用双引号,不能使用单引号,所以使用起来不灵活,不能保证所有的Str都能够正常转换。

方式二:literal_eval() 【推荐】

使用方式如下:

import ast
user = '{"name" : "john", "gender" : "male", "age": 28}'
user_dict = ast.literal_eval(user)
print(user_dict)
print(type(user_dict))

打印的结果:

{'gender': 'male', 'age': 28, 'name': 'john'}
<type 'dict'>

优点:既不存在使用 json 进行转换的问题,也不存在使用 eval 进行转换的 安全性问题。 但是在项目中还未正式使用过。

相关文章

网友评论

      本文标题:Python 如何将字符串转为字典

      本文链接:https://www.haomeiwen.com/subject/xxvndqtx.html