[python] JSON
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。JSON的数据格式其实就是python里面的字典格式,里面可以包含方括号括起来的数组,也就是python里面的列表。在python中,有专门处理json格式的模块—— json 和 picle模块。
Json模块提供了四个方法: dumps、dump、loads、load
pickle 模块也提供了四个功能:dumps、dump、loads、load
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象
dumps 和 dump:
dumps和dump 序列化方法 dumps只完成了序列化为str,dump必须传文件描述符,将序列化的str保存到文件中。 loads 和 load
loads和load 反序列化方法
loads 只完成了反序列化,load 只接收文件描述符,完成了读取文件和反序列化。
json 和 picle 模块
json模块和picle模块都有 dumps、dump、loads、load四种方法,而且用法一样。
不用的是json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,而picle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码,不过picle可以序列化函数,但是其他文件想用该函数,在该文件中需要有该文件的定义(定义和参数必须相同,内容可以不同)。
五. 总结
-
json序列化方法:
dumps:无文件操作 dump:序列化+写入文件
-
json反序列化方法:
loads:无文件操作 load: 读文件+反序列化
-
json模块序列化的数据 更通用
picle模块序列化的数据 仅python可用,但功能强大,可以序列号函数
-
json模块可以序列化和反序列化的 数据类型 见 python对象(obj) 与json对象的对应关系表
-
格式化写入文件利用 indent = 4
https://www.cnblogs.com/busizhiyu/p/11694790.html 标签:python,json,dumps,JSON,模块,loads,序列化 From: https://www.cnblogs.com/sunny3158/p/16785658.html