Python3之json模块
序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。
JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。
python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding和decoding。
- encoding:把一个python对象编码转换成Json字符串。
- decoding:把json格式字符串编码转换成python对象。
提供具体方法
dumps dump loads load
#dumps方法
data_feil = {"server": "100.11.7.169","weight": 20,"maxconn": 30} a=json.dumps(data_feil) print(a,type(a)) 结果: {"server": "100.11.7.169", "weight": 20, "maxconn": 30}
<class 'str'>
#loads方法
data_b='{"server": "100.11.7.169", "weight": 20, "maxconn": 30}' b=json.loads(data_b) print(b,type(b)) 结果: {'server': '100.11.7.169', 'weight': 20, 'maxconn': 30} <class 'dict'>
# dump功能
# 将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
data_c={"server": "100.11.7.169","weight": 20,"maxconn": 30}
with open('json_c.txt','w') as f:
json.dump(data_c,f)
# load功能
# 从数据文件中读取数据,并将json编码的字符串转换为python的数据结
with open('json_c.txt','r') as f:
data_d=json.load(f)
print(data_d)

浙公网安备 33010602011771号