Python处理json字典与字符串的转换

import json

"""
dumps:将python中的字典转换为字符串
output:
    <class 'dict'>
    {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
    <class 'str'>
    {"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}
"""


def json_dumps():
    json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
    print(type(json_dict))
    print(json_dict)
    json_str = json.dumps(json_dict)
    print(type(json_str))
    print(json_str)


"""
dump:将数据写入json文件中
"""


def json_dump():
    json_dict = {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
    with open("../file/record.json", "w")as f:
        json.dump(json_dict, f)
        print("finished")


"""
loads:将字符串转换为字典
output:
    <class 'str'>
    {"fontFamily": "微软雅黑", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}
    <class 'dict'>
    {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
"""


def json_loads():
    json_str = '{"fontFamily": "\u5fae\u8f6f\u96c5\u9ed1", "fontSize": 12, "BaseSettings": {"font": 1, "size": {"length": 40, "wigth": 30}}}'
    print(type(json_str))
    print(json_str)
    json_dict = json.loads(json_str)
    print(type(json_dict))
    print(json_dict)


"""
load:读文件,并把字符串变换为Python数据类型
output:
    40
    {'fontFamily': '微软雅黑', 'fontSize': 12, 'BaseSettings': {'font': 1, 'size': {'length': 40, 'wigth': 30}}}
"""


def json_load():
    f = open("../file/record.json", encoding='utf-8')
    setting = json.load(f)
    print(setting['BaseSettings']['size']['length'])
    setting['BaseSettings']['size']['length'] = 40
    print(setting)


if __name__ == '__main__':
    json_dumps()
    json_dump()
    json_loads()
    json_load()
相关文章
相关标签/搜索