[TOC]
<br>
### 序列化与反序列化
序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。
### json 模块介绍
json,用于字符串 和 python数据类型间进行转换
Json模块提供了四个功能:dumps、dump、loads、load
#### json.dumps 将dict类型的数据转成str
```python
import json
data = {
'name': 'Milton',
'age': 31
}
# json.dumps 将一个字典类型转换为JSON字符串
json_str = json.dumps(data)
print(type(json_str)) # 打印结果:<class 'str'>
```
#### json.loads 将JSON字符串转换为字典对象
```python
import json
data = '{"name": "Milton","age": 31}'
# json.loads 将JSON字符串转换为字典对象
json_obj = json.loads(data)
print(type(json_obj)) # 打印结果:<class 'dict'>
```
#### json.dump 将dict类型的数据转成str,并写入到json文件中
```python
import json
data = {"name": "Milton","age": 31}
# Writing JSON data
with open('data.json', 'w') as f:
json.dump(data, f,indent=4)
```
文件data.json内容如:
```cmd
{
"name": "Milton",
"age": 31
}
```
#### json.load 从json文件中读取数据,并转成字典类型对象
```python
import json
# Reading data back
with open('data.json', 'r') as f:
data_read = json.load(f)
print(data_read) # 打印结果:{'name': 'Milton', 'age': 31}
print(type(data_read)) # 打印结果:<class 'dict'>
```
<hr style="margin-top:100px">
:-: ![](https://box.kancloud.cn/2ff0bc02ec938fef8b6dd7b7f16ee11d_258x258.jpg)
***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
- 前言
- chapter01_开发环境
- chapter02_字符串的使用
- chapter03_列表的使用
- chapter04_字典的使用
- chapter05_数字的使用
- chapter06_元组的使用
- chapter07_集合的使用
- chapter08_输入输出
- chapter09_控制流程
- chapter10_实例练习_登录1
- chapter11_python函数入门
- chapter12_python中的类
- chapter13_轻松玩转python中的模块管理
- chapter14_掌握学习新模块的技巧
- chapter15_通过os模块与操作系统交互
- chapter16_子进程相关模块(subprocess)
- chapter17_时间相关模块(time & datetime)
- chapter18_序列化模块(json)
- chapter19_加密模块(hashlib)
- chapter20_文件的读与写
- chapter21_阶段考核2_登录
- chapter22_小小算法挑战(排序&二分法)
- chapter23_用多线程来搞事!
- chapter24_HTTP接口请求(requests)
- chapter25_接口测试框架(pytest)
- chapter26_阶段考核3_HTTP接口测试
- chapter27_HTML解析(pyquery)
- chapter28_阶段考核4_爬虫下载网易汽车
- chapter29_python中的那些编码坑
- chapter30_MySQL数据库操作
- chapter31 高级特性_迭代器与生成器
- chapter32 高级特性_装饰器
- chapter33 高级特性_列表处理