失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python中json模块 字典和字符串相互转换

Python中json模块 字典和字符串相互转换

时间:2023-05-20 20:27:37

相关推荐

Python中json模块 字典和字符串相互转换

一、字典 转 字符串

方法一:json.dumps() ,不管字典里是单引号还是双引号,都可以用json.dumps()转换成字符串,且转后都为双引号!

import jsona = {'name':'lily','age':18}b = {"name":"lily","age":18}print(json.dumps(a))print(json.dumps(b))返回{"name": "lily", "age": 18}{"name": "lily", "age": 18}

方法二:str (),用str将字典转成字符串后,双引号变成了单引号

'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''a = {'name':'lily','age':18}b = {"name":"lily","age":18}print('a:',str(a))print('b:',str(b))返回a: {'name': 'lily', 'age': 18}b: {'name': 'lily', 'age': 18}

二、字符串 转 字典

方法一、json.loads() ,要求json串格式中必须的双引号!!!转后双引号变为单引号

import jsona = {'name':'lily','age':18}c = json.dumps(a)print('c=',c)print(json.loads(c))返回c= {"name": "lily", "age": 18}{'name': 'lily', 'age': 18}

json串为单引号时,用json.loads()会报错:由于json的key没有双引号,导致json解析错误的

'''遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!'''a = {"name":"lily","age":18}d = str(a)print('d=',d)print(json.loads(d))返回报错信息d= {'name': 'lily', 'age': 18}Traceback (most recent call last):File "/Users/PycharmProjects/FirstScrip/lijun/op_json.py", line 14, in <module>print(json.loads(d))File "/Users/anaconda3/lib/python3.6/json/__init__.py", line 354, in loadsreturn _default_decoder.decode(s)File "/Users/anaconda3/lib/python3.6/json/decoder.py", line 339, in decodeobj, end = self.raw_decode(s, idx=_w(s, 0).end())File "/Users/anaconda3/lib/python3.6/json/decoder.py", line 355, in raw_decodeobj, end = self.scan_once(s, idx)json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

如果觉得《Python中json模块 字典和字符串相互转换》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。