- python json序列化與反序列化操作
# dumps() dict-->str 序列化
# loads() str---dict 反序列化
result1 = json.dumps({'a': 1, 'b': 2})
result2 = json.loads(result1)
# 寫JSON 數據到文件
with open('data.json', 'w') as f:
json.dump(data, f)
# 從文件讀取數據
with open('data.json', 'r') as f:
data = json.load(f)
另外,python有個內置模塊也是用來進行序列化與反序列化的——pickle模塊,用法與json模塊基本一樣,這里不再展開。
1.便於存儲。序列化過程將文本信息轉變為二進制數據流。這樣就信息就容易存儲在硬盤之中,當需要讀取文件的時候,從硬盤中讀取數據,然后再將其反序列化便可以得到原始的數據。在Python程序運行中得到了一些字符串、列表、字典等數據,想要長久的保存下來,方便以后使用,而不是簡單的放入內存中關機斷電就丟失數據。python模塊大全中的Pickle模塊就派上用場了,它可以將對象轉換為一種可以傳輸或存儲的格式。
2.便於傳輸。當兩個進程在進行遠程通信時,彼此可以發送各種類型的數據。無論是何種類型的數據,都會以二進制序列的形式在網絡上傳送。發送方需要把這個對象轉換為字節序列,在能在網絡上傳輸;接收方則需要把字節序列在恢復為對象。