import json #写入json文件 def dump_test(): persons = {"login001": {"username": "张三", "age": 18, "country": "china"}, "login002": {"username": "李赛", "age": 20, "country": "china"}} # 中文存储在json文件中,open 文件指定编码,utf-8, json.dump 关闭ensure_ascii #使用dumps():将可以转换为json对象的对象转换为String,然后可通过字符流或字节流写入文件---会产生乱码 json_str = json.dumps(persons) print(json_str) print(type(json_str)) with open('person1.json', 'w', encoding='utf-8') as fp: # fp.write(json_str) #使用dump():将可转为json对象的对象直接写入文件(将两个步骤结合成一个步骤)---推荐使用 #ensure_ascii=False, 减少乱码 json.dump(persons, fp,ensure_ascii=False) dump_test() #加载json文件 def load_test(): #loads()---将string类型转为dict字典或dict链表 with open('person.json', 'r', encoding='utf-8') as fp: string=fp.read() json_files=json.loads(string) print(json_files) print(type(json_files)) for file in json_files.values(): print(file) print(file.values()) print(file.get('username')) #load()---从文件流直接读取并转换为dict字典或dict字典链表 with open('person.json', 'r', encoding='utf-8') as fp: persons = json.load(fp) print(type(persons)) print('persons为',persons) print('persons的键为',persons.keys()) print('persons的值为', persons.values()) for person in persons.values(): print(person) print(person.values()) print(person.get("username")) # load_test()