Json模块

junlan
6
2024-11-25

Json模块

json 是一种通用的数据传输格式,本质上就是一个字符串;目的是让其他程序能读懂接受到的数据内容。

序列化模块

loads dumps —- 和内存做交互

load dump —- 和文件做交互

序列化(dump/dumps)和 反序列化(load/loads)

import json

dic = {'广州':{'天河':{}, '番禺':{}}}
text = json.dumps(dic, ensure_ascii = False)  # 序列号的过程 把字典/其它数据类型转换成字符串;如果字典中有中文,希望写入文件的数据也显示为中文,就需要添加参数ensure_ascii=Fa1se
# print(text)
# print(dic)

with open('city', mode = 'w', encoding = 'utf-8') as f:
    f.write(text)  # 把字符串写入文件,不能直接写入字典

with open('city', encoding = 'utf-8') as f:
    str_d = f.read()
    print(str_d)
    dic = json.loads(str_d)  # 把字符串转换成字典
    print(dic)

和文件操作时dump和load方法可简化步骤

import json

lst = ['alex', 1,2,3]
with open('file', 'w', encoding='utf-8') as f:
    json.dump(lst,f)  # 写入json数据到文件

# 从文件中读取json数据
with open('file', encoding = 'utf-8') as f:
    ret = json.load(f)
    print(ret)