json and pickie 序列化

Posted 雨之愿风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json and pickie 序列化相关的知识,希望对你有一定的参考价值。

  • json只能用于简单的数据类型,例如:字典啊,列表啊,字符串之类的,无法处理复杂的,例如带有函数的
  • json适用于所有的开发语言
  • dumps与loads只对应使用一次,若dumps多次,则loads出错

 

  • import json    json.dumps()   and json.loads()
技术分享图片
import json

info = {
    "name":"alex",
    "age": 23
}
f = open("test.txt","w",encoding="utf-8")
f.write(json.dumps(info))
f.close()
test1序列化
技术分享图片
import json

f = open("test.txt","r",encoding="utf-8")
data = json.loads(f.read())
print(data)
test1反序列化
  • import json    json.dump()   and json.load()
技术分享图片
import json

info = {
    "name":"alex",
    "age": 23
}
f = open("test.txt","w",encoding="utf-8")
json.dump(info,f) #相当于f.write(json.dumps(info))
f.close()
test2序列化
技术分享图片
import json

f = open("test.txt","r",encoding="utf-8")
data = json.load(f)#相当于data = json.loads(f.read())
print(data)
f.close()
test2反序列化
  • import  pickle   处理复杂类型:只适用于python
技术分享图片
import pickle

def func(name):
    print("name",name)
info = {
    "name":"alex",
    "age": 23,
    "function":func

}
f = open("test.txt","wb")
f.write(pickle.dumps(info))

f.close()
test3序列化
技术分享图片
import pickle
def func(name):
    print("name",name)
    print("这里只保存了对应函数的名称,有相应的名称则能使用,里面的内容可以不同")

f = open("test.txt","rb")
data = pickle.loads(f.read())
print(data)
f.close()
test3反序列化

 

以上是关于json and pickie 序列化的主要内容,如果未能解决你的问题,请参考以下文章

Python的json and pickle序列化

python json and pickle

python json and pickle

json decimal and datetime

C# 使用Json.NET对数据进行序列化和反序列化 | c# json serialize and deserialize using json.net JsonConvert

golang的xorm如何将[]map[string][]byte 格式的数据序列化成json输出