美文网首页
Python序列化与JSON

Python序列化与JSON

作者: 易点梅 | 来源:发表于2019-05-13 22:23 被阅读0次

    一、什么是序列化

    程序在运行过程中使用的变量都在内存中,当程序运行结束后,内存被回收,等下一次再运行程序时,变量的值就被初始化了,不会是程序上次关闭前的值。这时就需要一种技术,来保存程序中的变量值到磁盘文件或者写入到网络传输。变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling。

    序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。

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

    Python提供了pickle模块来实现序列化。

    运行结果:

    二、Json

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

    Python内置的json模块提供了非常完善的Python对象到JSON格式的转换。我们先看看如何把Python对象变成一个JSON:

    dumps()方法返回一个str,内容就是标准的JSON。类似的,dump()方法可以直接把JSON写入一个file-like Object。

    要把JSON反序列化为Python对象,用loads()或者对应的load()方法,前者把JSON的字符串反序列化,后者从file-like Object中读取字符串并反序列化。

    将自定义的class类序列化和反序列化:

    相关文章

      网友评论

          本文标题:Python序列化与JSON

          本文链接:https://www.haomeiwen.com/subject/soldaqtx.html