zoukankan      html  css  js  c++  java
  • Python之json模块

    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} 

    参考资料


    作者:酌三巡

    感谢阅读,如需转载请注明出处!

  • 相关阅读:
    libxml2 使用教程【转】
    c++实现Xml和json互转【转】
    C++中JSON的使用详解【转】
    Libxml2函数及使用方法概述【转】
    首个threejs项目-前端填坑指南【转】
    如何使用chrome自带的Javascript调试工具 【转】
    require.js 最佳实践【转】
    Cesium中导入三维模型方法(dae到glft/bgltf) 【转】
    华为ap3010DN-V2刷出胖AP并配置接入POE交换机实现上网
    k8s cronjob设置作业失败后退出不重复执行
  • 原文地址:https://www.cnblogs.com/zhuosanxun/p/11368513.html
Copyright © 2011-2022 走看看