json模块

json模块

用python写了一个程序,用java写了一门程序,这两个程序需要数据之间交流,规定了一种多种语言通用的数据类型,json串

序列化:从python的字典(最常用)变成json串, dump

反序列化:从json串变成python的字典(最常用),load

dic = {'a': 1, 'b': 'abc', 'c': None}
data = json.dumps(dic)  # 序列化到内存中
print(data,type(data))  # 单引号全部变成双引号
data = json.loads(data)  # 从内存中获取json串
print(data,type(data))

{"a": 1, "b": "abc", "c": null} <class 'str'>
{'a': 1, 'b': 'abc', 'c': None} <class 'dict'>

import json
dic = {'a': 1, 'b': 'abc', 'c': None}
with open('test.json','w',encoding='utf8')as fw:
    json.dump(dic,fw)

with open('test.json','r',encoding='utf8')as fr:
    data=json.load(fr)
    print(data)

dumps只完成了序列化为str,

dump必须传文件描述符,将序列化的str保存到文件中

loads 只完成了反序列化,

load 只接收文件描述符,完成了读取文件和反序列化

原文地址:https://www.cnblogs.com/aden668/p/11365987.html