python数据类型转化--JSON

  • JSON序列化和反序列化

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript 一个子集。不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML、JSON,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输,所以通常将python类型的数据转化为JSON类型的数据,完成数据交换

JSON 和Python 数据类型的对应关系

python数据类型转化--JSON

 

  • Python内置的Json模块,可以完成python对象到Json类型的转化
  • Python 对象转化为Json类型--JSON 序列化,(转化之后的数据类型是字符串-str)

python数据类型转化--JSON

  • JSON类型转化为Python对象--JSON反序列化

python数据类型转化--JSON

  • python数据类型转化为JSON格式的数据有两种方式
    • JSON序列化

dumps(dict1)是将python数据类型转化为JSON类型的字符串 string

dump(dict1,sp)是将python数据类型转化为文件流,sp表示写入文件的路径,

python数据类型转化--JSON

或者通过dumps 转化成字符串,然后再写入

python数据类型转化--JSON

通过以上两种方法可以将一个python类型的数据写入到一个json文件中

  • JSON反序列化

loads(str)  是将JSON字符串转化成python类型的数据,loads 操作字符串

load(str,fp) 将.json文件转化成python格式的数据, load操作文件流

python数据类型转化--JSONpython数据类型转化--JSON

因为文件读写操作时有可能产生IOError,一旦出错,后面的close()方法就不能执行到,为了保证是否出错都能关闭文件,使用with open() 文件操作流

python数据类型转化--JSON