json模組中 序列化與反序列化

2022-09-09 13:09:20 字數 1744 閱讀 5296

記憶體中資料型別---->序列化------>特定的格式(json格式或者pickle格式)

互相轉換方法1.

res=eval("")

print(res)

print(type(res))

#res = str()

print(res)

print(type(res))

#

#    序列化指的是把記憶體的資料型別轉換成乙個特定的格式的內容

# 該格式的內容

1、可用於儲存=>用於存檔

2、傳輸給其他平台使用=>跨平台資料互動

python ————————— j**a

列表 特定的格式 陣列

3.json 驗證:格式相容的是所有語言通用的資料型別。並不能識別所有語言

強調: 針對用途1的特定格式,一種專用格式,只有python能夠識別:pickle

針對用途2的特定格式,一種通用,能夠被所有語言識別的格式:json

針對json中,資料型別必須加上雙引號「」 否則會報錯

序列化

import json

res = json.dumps([1,'aaa',true,false])

print(res,type(res)) # "[1,"aaa",true,false]" 注意:雙引號

反序列化

import json

res = json.dumps([1,'aaa',true,false])

l = json.load(res)

print(l,type(l)) #[1,'aaa',true,false]

序列化的結果寫入檔案的方法

1.複雜方法

import json

res = json.dumps([1,'aaa',true,false])

with open('test.json',mode='wt',encoding='utf-8')as f:

f.write(res)

2.簡單方法

with open('test.json',mode='wt',encoding='utf-8')as f:

json.dump([1,'aaa',true,false],f)

# "[1,"aaa",true,false]" 從檔案讀取json格式的字串進行反序列化操作方法

1.複雜方法

with open("test.json",mode="rt",encoding="utf-8") as f:

json_res = f.read()

res = json.loads(json_res)

print(res,type(res))

#[1, 'aaa', true, false] 2.簡單方法

with open("test.json",mode="rt",encoding="utf-8") as f:

l=json.load(f)

print(l,type(l))

json.dumps(obj)	將python資料轉化為json

json.loads(s) 將json資料轉換為python的資料

json.dump(obj, fp) 轉換為json並儲存到檔案中

json.load(fp) 從檔案中讀取json,並轉化為python資料

json序列化與反序列化

1.什麼是序列化與反序列化?序列化就是將記憶體中的資料結構轉換成一種中間格式儲存到硬碟或者基於到網路傳輸。反序列化就是將硬碟中或者網路中傳來的一種資料格式轉換成記憶體中資料格式。2.為什麼要有序列化和反序列化?1.可以儲存程式的執行狀態。比如遊戲中使用者在某個狀態下線,使用者遊戲的資料需要儲存,這時...

json序列化 反序列化

json序列化 json的dumps方法可以將json格式資料序列為python的相關資料型別,比如str,常用於列印,另外,在序列化時,中文漢字被轉換為unicode編碼,在dumps函式中新增引數ensure ascii false可解決 dumps的indent參考可以調整顯示格式,即縮排,一...

JSON序列化與反序列化列舉

一 json序列化與反序列化列舉 1.這個示例使用了乙個jsonconverter定製如何序列化json與反序列化列舉 using system using system.collections.generic using system.linq using system.text using go...