您现在的位置是:首页 > 文章详情

python字符串转字典

日期:2019-08-11点击:595

方法一

  • 最常见的一种,使用json进行转换
import json s = {"name": "张三"} print(json.loads(s)) ------ {'name': '张三'}
  • 但是这种方式有可能会出现问题,例如单引号的情况
s = "{'name': '张三'}" print(json.loads(s)) ------ Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads return _default_decoder.decode(s) File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 353, in raw_decode obj, end = self.scan_once(s, idx) json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

方法二

  • 使用eval
s = "{'name': '张三'}" print(eval(s)) ------ {'name': '张三'}

方法三

  • 使用ast.literal_eval
import ast s = "{'name': '张三'}" print(ast.literal_eval(s)) ------ {'name': '张三'} 

参考链接:时光不写博客-python字符串转字典

原文链接:https://yq.aliyun.com/articles/713862
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章