[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">
:-: 
***微信掃一掃,關注“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 高級特性_列表處理