• python json 模块


    json.dump       序列化   

    json.dumps  将一个python值转换成json格式的字符串

    json.load   反序列化

    json.loads   将一个json格式字符串转换成python值。

    json模块在python中用于处理json格式数据,主要包含以下4个函数,其中json.dumps()、json.loads()较为常用。

    json.dumps()

    它表示“dump string”,将一个python值转换成json格式的字符串。该python值只能是以下数据类型之一:字典、列表、元组、数字、字符串、布尔型,而集合类型无法转换。

    复制代码
    import json
    dict_data = {"a": 1, "b": 2}
    json_data = json.dumps(dict_data)
    # 打印转换结果
    print(type(json_data))
    print(json_data)
    复制代码

    上述代码是将dict格式数据转换成json格式字符串,运行结果为:

    <class 'str'>
    {"a": 1, "b": 2}

    不同于直接使用str()进行转译,json.dumps()将python值转换成字符串类型时会使用双引号。为了方便理解,以下演示直接使用str()进行字符串的转译:

    复制代码
    import json
    dict_data = {"a": 1, "b": 2}
    str_data = str(dict_data)
    # 打印转换结果
    print(type(str_data))
    print(str_data)
    复制代码

    上述代码将dict格式数据用str()转换成字符串,运行结果为:

    <class 'str'>
    {'a': 1, 'b': 2}

    可别小瞧了单引号和双引号之间的区别,请注意json字符串总是使用双引号。

    json.loads()

    它表示“load string” ,将一个json格式字符串转换成python值。

    复制代码
    import json
    dict_data = {"a": 1, "b": 2}
    # 将dict格式数据转换成json格式字符串
    json_data = json.dumps(dict_data)
    # 将json格式字符串转换成对应的python值
    load_data = json.loads(json_data)
    # 打印转换结果
    print(type(load_data))
    print(load_data)
    复制代码

    上述代码运行结果为:

    <class 'dict'>
    {'a': 1, 'b': 2} 

    json.dump()

    将一个python值转换成json格式并且存入指定文件,用法如下:

    import json
    dict_data = {"a": 1, "b": 2}
    # 将dict_data转换成json格式并且存入data.json文件中
    with open('data.json', 'w') as f:
        json.dump(dict_data, f)

    json.load()

    将一个指定json格式文件转换成python值。比如把前一个例子中data.json文件数据还原成dict格式数据:

    import json
    with open('data.json', 'r') as f:
        data = json.load(f)
    print(type(data))
    print(data)

    上述代码运行结果为:

    <class 'dict'>
    {'a': 1, 'b': 2} 
  • 相关阅读:
    每日一(水)题
    操作树学习笔记
    「THUSCH 2017」大魔法师
    几个规律
    DP专题(DP进阶题单 )
    康托展开&逆康托展开
    一道题目
    P5629 【AFOI-19】区间与除法 题解
    留言板
    NOIP2020考试总结
  • 原文地址:https://www.cnblogs.com/shaohuagu/p/12261505.html
Copyright © 2020-2023  润新知