python基礎 序列化與反序列化

2021-09-14 04:58:09 字數 1315 閱讀 1283

# 返回乙個str:''

json_str =

''json.loads(json_str)

#

class

student

(object):

def__init__

(self, name, age, score)

: self.name = name

self.age = age

self.score = score

s = student(

'bob',20

,88)# print(json.dumps(s)) # typeerror => 轉換函式

# 方法一

defstudent2dict

(std)

:return

print

(json.dumps(s, default=student2dict)

)# 方法二

print

(json.dumps(s, default=

lambda obj: obj.__dict__)

)

student例項首先被student2dict()函式轉換成dict,然後再被順利序列化為json。

def

dict2student

(d):

return student(d[

'name'

], d[

'age'

], d[

'score'])

json_str =

''print

(json.loads(json_str, object_hook=dict2student)

)

loads()方法首先轉換出乙個dict物件,然後,我們傳入的object_hook函式負責把dict轉換為student例項。

Python序列化與反序列化

序列化 將python裡的基本型別如字典 列表 陣列等序列化為字串 反序列化 將字串反序列化為python裡的基本型別如字典 列表等 常用 json r requests.get 杭州 r.encoding utf 8 print r.text print dic json.loads r.text...

序列化和反序列化 C 序列化與反序列化。

序列化介紹 把物件用一種新的格式來表示。系列化只序列化資料。序列化不建議使用自動屬性 為什麼要序列化 將乙個複雜的物件轉換流,方便儲存與資訊交換。class program class person public int age 二進位制序列化 就是將物件變成流的過程,把物件變成byte class...

序列化與反序列化

把複雜的資料型別壓縮到乙個字串中 serialize 把變數和它們的值編碼成文字形式 unserialize 恢復原先變數 eg stooges array moe larry curly new serialize stooges print r new echo print r unserial...