json 可以在不同语言中进行使用
pickle 只能在python中使用
json 和 pickle 的语法相同 ,pickle 可以用来传递函数
下面以pickle为例
序列化.py
import pickle
def sayhi(name):
print('hello', name)
info = {
'name' : 'alex',
'age' : 23
‘func’ : sayhi
}
f = open('pickle.txt', 'wb') #二进制写入
info = pickle.dumps(info)
f.write(info)
f.close()
反序列化.py
import pickle
def sayhi(name):
print('hello',name)
f = open('pickle.txt','r')
data = f.read()
data = pickle.loads(data)
print(data['func']('alex'))
对于json.dumps 和 json.loads 而言 最好是每次转换只出现一次