json pickle 的序列化和反序列化

2022-11-24 16:48:59 字數 1302 閱讀 3041

1, json 只能序列化簡單的資料型別,如,列表,字典,字串,等簡單的型別,不能序列化複雜的型別。

2, json 是支援所有的語言的,多以我們跨語言的時候都是用json,(和其他語言互動)

json的序列化

json.dumps()

import json

info =

f = open('json_wenjian','w',encoding='utf-8')

f.write(json.dumps(info))

json的反序列化

json.loads()

import json

f = open('json_wenjian','r',encoding='utf-8')

data = json.loads(f.read())

print(data)

loads ------dumps  和 load-------dump   是成對出現的。

方式只有點一不一樣。 

pickle可以序列化python中所有的資料型別,包括函式、類等,下面我們就來看看,如何序列化函式的。還有就是,pickle序列化的是位元組,而json序列化的是字元,這個要注意一下

序列化

import pickle

def fun():

print('hello,world')

info =

with open('pickle_wenjian','wb') as f:

data = pickle.dumps(info)

f.write(data)

反序列化

import pickle

def fun():

print('hello,world')

with open('pickle_wenjian','rb') as f:

data = pickle.loads(f.read())

print(data)

son值支援簡單的資料型別,pickle支援所有的資料型別。

pickle只能支援python本身的序列化和反序列化,不能用作和其他語言做資料互動,而json可以。

pickle序列化的是整個的資料物件,所以反序列化函式時,函式體中的邏輯變了,是跟著心的函式體走的。

pickle和json在3.0中只能dump一次和load一次,在2.7裡面可以dump多次,load多次,anyway,以後只記住,只需要dump一次,load一次就可以了。

json 序列化和反序列化

json串的格式 string strdatadiylist js cs 方法 反序列化 hashtable diyht hashtable jsonconvert.deserializeobject strdatadiylist,typeof hashtable cs js 方法 序列化 stri...

json序列化與反序列化

1,寫到類中,用到datacontractjsonserializer,需要引用using system.runtime.serialization public static class serializerutil catch json序列化 使用例子 需要例項化的類要新增修飾符 datacon...

序列化 json pickle

序列化 把物件打散成二進位制位元組 bytes 1.pickle 把一個物件轉化成bytes寫入到檔案 pickle.dumps 把物件轉換成bytes pickle.loads 把bytes轉化成物件 pickle.dump 把物件轉換成bytes.寫入到檔案 pickle.load 把檔案中的b...