在使用json模块时需要先 import json 引入模块
json.dumps()模块函数
功能:将Python数据类型转换成字符串【有参】
使用方法:json.dumps(要转换的数据类型变量)
格式如:json.dumps(yhxxi)
注意:不支持元祖
#!/usr/bin/env python # -*- coding:utf8 -*- import json yhxxi = { #创建一个嵌套字典 1:{ "yonghu":"liguixiou", "mima":"12345", "youjian":"729088188@qq.com", "zichan":700, }, 2:{ "yonghu":"liguixiou2", "mima":"123452", "youjian":"7290881882@qq.com", "zichan":7002, } } a = json.dumps(yhxxi) #将字典转换成字符串格式 print(a) #打印转换的字符串格式 b = open("yh.txt", "w") #以写入模式打开文件 b.write(a) #将转换的字符串写入文件 b.close() #关闭打开的文件 #输出 # {"1": {"youjian": "729088188@qq.com", "yonghu": "liguixiou", "mima": "12345", "zichan": 700}, "2": {"youjian": "7290881882@qq.com", "yonghu": "liguixiou2", "mima": "123452", "zichan": 7002}}
列2
#!/usr/bin/env python # -*- coding:utf8 -*- import json a = [1,2,3,4,5,6,7,8] #列表 b = json.dumps(a) #将列表转换成字符串 print(b) print(type(b)) #查看数据类型 a2 = {"desc":"OK","status":1000} #字典 b2 = json.dumps(a2) #将字典转换成字符串 print(b2) print(type(b2)) #查看数据类型 #输出 # [1, 2, 3, 4, 5, 6, 7, 8] # <class 'str'> # {"desc": "OK", "status": 1000} # <class 'str'>
json.loads()模块函数
功能:将字符串还原它本来的数据类型【有参】
使用方法:json.loads(要还原的字符串变量)
格式如:json.loads(b)
注意:不支持元祖
#!/usr/bin/env python # -*- coding:utf8 -*- import json a = open("yh.txt", "r") #以读模式打开文件 b = a.read() #读出文件里的字符串内容 a.close() #关闭打开的文件 print(b) #打印出读出的字符串内容 c = json.loads(b) #将字符串还原它本来的数据类型 print(c) #打印出还原的数据类型 #输出 # {"1": {"yonghu": "liguixiou", "zichan": 700, "youjian": "729088188@qq.com", "mima": "12345"}, "2": {"yonghu": "liguixiou2", "zichan": 7002, "youjian": "7290881882@qq.com", "mima": "123452"}} # {'1': {'yonghu': 'liguixiou', 'zichan': 700, 'mima': '12345', 'youjian': '729088188@qq.com'}, '2': {'yonghu': 'liguixiou2', 'zichan': 7002, 'mima': '123452', 'youjian': '7290881882@qq.com'}}
列2
#!/usr/bin/env python # -*- coding:utf8 -*- import json a = "[1,2,3,4,5,6,7,8]" #列表样式字符串 b = json.loads(a) #还原成python识别的列表 print(b) print(type(b)) #查看数据类型 a2 = '{"desc":"OK","status":1000}' #字典样式字符串,注意:字典的单引号和双单引号,字典内部元素是字符串必须是双单引号 b2 = json.loads(a2) #还原成python识别的字典 print(b2) print(type(b2)) #查看数据类型 #输出 # [1, 2, 3, 4, 5, 6, 7, 8] # <class 'list'> # {'status': 1000, 'desc': 'OK'} # <class 'dict'>
json.dump()模块函数
功能:将Python数据类型转换成字符串,直接写入文件【有参】
使用方法:json.dump(要写入的数据类型变量,打开文件的句柄变量)
格式如:json.dump(a,b)
注意:json.dump()写入文件可以直接写入,不需要write()函数即可写入
#!/usr/bin/env python # -*- coding:utf8 -*- import json a = ["你好", "我好", "他好"] #创建一个列表 b = open("yh.txt", "w") #以写入模式打开一个文件 json.dump(a,b) #将Python数据类型转换成字符串,直接写入文件 b.close() #关闭打开的文件 #此时yh.txt文件里已经写入 ["u4f60u597d", "u6211u597d", "u4ed6u597d"]
json.load()模块函数
功能:读出文件里的字符串,还原它本来的数据类型【有参】
使用方法:json.load(打开文件的句柄变量)
格式如:json.load(a)
注意:json.load()读出文件可以直接读出,不需要read()函数即可读出
#!/usr/bin/env python # -*- coding:utf8 -*- import json a = open("yh.txt", "r") #以读出模式打开文件 b = json.load(a) #读出文件里的字符串,还原它本来的数据类型 print(b) #打印出还原的数据类型 #输出 #['你好', '我好', '他好']