ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Python数据持久化:JSON

Python数据持久化:JSON 上周进行更新的《Think 2e》, 其第14章讲述了几种数据持久化的方式, 像dbm诸如此类, 然而鉴于篇幅与读者等方面的因素, 并未把各种方式都完整列出。本文会介绍一种跟类似的轻量级数据持久化方式, 那就是json, 并且哩, json格式还是网络数据传输当中一种常见的格式, 很颇具了解与学习的必要性哟。JSON与的区别官方文档中是这么比较JSON与的JSON是文本形式的存储则是二进制形式至少常用二进制JSON是人可读的不可读JSON广泛应用于除外的其他领域是独有的JSON只能dump一些的内置对象可以存储几乎所有对象JSON一般使用方式用以处理json的自带库是json模块, 需要运用到的方法大概是以下4个, 实际上它们的参数有许多, 这里在这里暂先省略。能够瞧见, 结尾带着s意味着于字符串层面开展操作, 要是不带s那便是在文件层级予以操作。obj所指的是需要进行转化的对象, 它能够是一个字典或者是一个列表, fp是文件句柄, 借助open将其打开。s是一个字符串。运行dumps之后, 返回的是一个字符串, 而load以及loads, 返回的是对象。以下那些属于最为简单的一部分运用方式, 在此处另外存在一些具备实用性的参数可供选取。在存在含中文的情形下, 参数设置为False能够避免将其解码, 如此便可杜绝出现乱码, 在loads时能够通过指定的方式, 来维持那种编码形式, 从而实现保持编码目的。中文编码方面的问题, 可去参考之前所发的文章, 那篇文章的标题是《如何正确解决当中的中文编码问题》。要是参数不被指定, 那输出的字符串便是紧凑的样式, 将其指定为4, 就能输出缩进为4的美化样式, 在有必要给人看的时候用上这个挺好。JSON序列化问题自身的json.dumps没办法对对象进行序列化, 要是有dump这类对象的需求, 能够自行去定义。这样子, 进行dump时, 指定cls参数, 便能够达成序列化的任务, 要是感觉麻烦的话, 能够运用偏函数的方式, 自行封装一番。中原内里所带有的json之类的库, 是在2.6这个版本才被并入进去的。所以呢, 要是你有需求去运用一个更为早些的版本, 而且还要处理json方面的数据, 这样子的情况下, 你能够安装一个第三方类型的库:将自带的json库进行了模拟, 当下支持2.5以上以及3.3以上。依据官方文档所给出的介绍, 在没有安装C扩展这个条件之下, 此库的速度依旧比自带的json库出色。这大概也是其在PyPI的下载数极高的缘由之一。要使用你只需要像下面这样导入即可as json其他的代码不需要修改。本文参考了一文。
返回列表