json & pickle 模块

时间:2022-06-24 05:37:44

用于序列化的两个模块

  • json,用于字符串 和 python数据类型间进行转换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换
  • dump和load 都各自使用一次
  • python序列化为json时的数据类型转换关系:

    python格式 json格式
    dict(复合类型) object
    list, tuple(集合类型) array
    int, long, float(数值类型) number
    str, unicode string
    True true
    False false
    None null

python json模块使用

https://www.cnblogs.com/cc11001100/p/7630429.html

json库提供了几个API:

json.dumps(): 将字典序列化为json字符串;json字符串也是字符串只是以json的格式显示为字符串

json.loads(): 将json字符串反序列化为字典;将文件中的json格式的字符串转化为字典

json.dump(): 将字典序列化到一个文件,是文本文件,就是相当于将序列化后的json字符串写入到一个文件

json.load(): 从文件中反序列出字典

import  json
#json的四个常用方法的使用
a={"name":True}
b=json.dumps(a)
print(b,"---one")
c=json.loads(b)
print(c,"---two") with open("f.txt","w+") as f:
json.dump(c,f)
f.seek(0)
print(f.read(),"----three")
f.seek(0)
d=json.load(f)
print(d,"---four")

总结: 不带s的是序列到文件或者从文件中反序列化,带s的是都在内存中操作不涉及到持久化