load---loads---dump---dumps的用法

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()

 

上一篇:接口测试-请求参数json转换


下一篇:Python 中json.dump()与json_dumps()运用