python数据类型转化--JSON
- JSON序列化和反序列化
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript 一个子集。不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML、JSON,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输,所以通常将python类型的数据转化为JSON类型的数据,完成数据交换
JSON 和Python 数据类型的对应关系
- Python内置的Json模块,可以完成python对象到Json类型的转化
- Python 对象转化为Json类型--JSON 序列化,(转化之后的数据类型是字符串-str)
- JSON类型转化为Python对象--JSON反序列化
- python数据类型转化为JSON格式的数据有两种方式
- JSON序列化
dumps(dict1)是将python数据类型转化为JSON类型的字符串 string
dump(dict1,sp)是将python数据类型转化为文件流,sp表示写入文件的路径,
或者通过dumps 转化成字符串,然后再写入
通过以上两种方法可以将一个python类型的数据写入到一个json文件中
- JSON反序列化
loads(str) 是将JSON字符串转化成python类型的数据,loads 操作字符串
load(str,fp) 将.json文件转化成python格式的数据, load操作文件流
因为文件读写操作时有可能产生IOError,一旦出错,后面的close()方法就不能执行到,为了保证是否出错都能关闭文件,使用with open() 文件操作流