在使用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文件里已经写入 ["\u4f60\u597d", "\u6211\u597d", "\u4ed6\u597d"]
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) #打印出还原的数据类型
#输出
#['你好', '我好', '他好']