python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

  • A+
所属分类:python基础入门

一、什么是序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

2、跨平台数据交互

序列化之后,不仅可以把序列化后的内容写入磁盘,还可以通过网络传输到别的机器上,如果收发的双方约定好实用一种序列化的格式,那么便打破了平台/语言差异化带来的限制,实现了跨平台数据交互。

反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。

 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。

JSON表示的对象就是标准的JavaScript语言的对象,JSON和Python内置的数据类型对应如下:

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

二、json序列化

1、dumps序列化和loads反序列化

dumps()序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

loads()反序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

loads()反序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

2、dump序列化和load反序列化

dump()序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

load()反序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

3、序列化函数

序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

反序列化

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

Pickle的问题和所有其他编程语言特有的序列化问题一样,就是它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,不能成功地反序列化也没关系。

谢谢阅读!

python全栈开发-json和pickle模块(数据的序列化)!这才叫全栈!

如有侵权请联系小编删除此文!

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: