json 模块
json模块概述:
pickle 和 shelve序列化后得到的数据 只有python才能解析
通常企业开发不可能做一个单机程序 都需要联网进行计算机间的交互
我们必须保证这个数据 能够跨平台使用
JSON 是什么?
JSON 是 java script object notation 就是对象表示法
对于我们开发者而言 json就是一种通用的数据格式 任何语言都能解析
对应关系 :
json 中的数据类型 | python 中的数据类型 |
{} | dict |
[] | list |
string | str |
int/float | int/float |
true/false | True/False |
null | None |
json 格式的语法规范:
最外层通常是一个字典或列表
{ } or [ ]
PS:只要你想写一个json格式的数据 那么最外层直接写{ }
字符串必须是双引号 你可以在里面套任意多的层次
json 模块的核心功能:
dump 序列化
dumps
load 反序列化
loads
不带s的是帮你封装 write 和 read
序列化写入文件:
dic = {"a": '理查德姑妈', "b": "找到你", "c": "看不见的客人"} with open("c.json","wt",encoding="utf-8") as f: f.write(json.dumps(dic))
反序列化文件内容:
with open("c.json","rt",encoding="utf-8") as f: # print(f.read()) d = json.loads(f.read()) print(d)