• [ Python入门教程 ] Python中JSON模块基本使用方法


      JSON (JavaScript Object Notation)是一种使用广泛的轻量数据格式,Python标准库中的json模块提供了一种简单的方法来编码和解码JSON格式的数据。用于完成字符串和python数据类型间进行转换。

    json模块基本函数

      json.dumps():把Python数据类型转换成JSON字符串

      json.loads():把JSON字符串转换成Python数据类型

      json.dump():把Python数据类型转换成JSON字符串并存储在文件中

      json.load():把文件打开并将JSON字符串转换成Python数据类型

      说明:使用 JSON 函数需要导入 json 库:import json

    json模块使用实例

      1、将python中的字典转换为JSON字符串。说明:转换后的JSON字符串都是放在双引号中。

    >>> import json
    >>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
    >>> json_data = json.dumps(student_dic)
    >>> type(json_data)
    <class 'str'>
    >>> print(json_data)
    {"name": "ACME", "age": "18", "grade": "90"}

      2、将JSON字符串转换为Python字典。说明:字符串必须放在双引号中,否则会报错。

    >>> tran_data = json.loads(json_data)
    >>> type(tran_data)
    <class 'dict'>
    >>> print(tran_data)
    {'name': 'ACME', 'age': '18', 'grade': '90'}

      3、将Python字典类型数据写入json文件中

    >>> import json
    >>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
    >>> with open('json.txt','w') as f:
    ...   json.dump(student_dic,f)
    ...
    >>>

      查看json.txt文件内容,如下:

    d:pycharm>type json.txt
    {"name": "ACME", "age": "18", "grade": "90"}

      说明:type为dos命令,作用是查看文件内容。

      4、读取JSON文件,并把字符串变换为Python数据字典

    >>> with open('json.txt','r') as fr:
    ...   student_dict = json.load(fr)
    ...
    >>> type(student_dict)
    <class 'dict'>
    >>> print(student_dict)
    {'name': 'ACME', 'age': '18', 'grade': '90'}

      5、将Python字典类型转换为JSON字符串,并以指定格式输出。

    >>> import json
    >>> student_dic = {'name':'ACME', 'age':'18', 'grade' : '90'}
    >>> json_data = json.dumps(student_dic,indent=4)
    >>> print(json_data)
    {
        "name": "ACME",
        "age": "18",
        "grade": "90"
    }

      6、将Python字典类型转换为JSON字符串,并按键排序输出。

    >>> json_data = json.dumps(student_dic,sort_keys=True,indent=4)
    >>> print(json_data)
    {
        "age": "18",
        "grade": "90",
        "name": "ACME"
    }

      7、Python基本类型转换为JSON字符串的特殊变化。

    >>> spec_value_dict = {'a':True,'b':False,'c':None}
    >>> json_data = json.dumps(spec_value_dict,indent=4)
    >>> print(json_data)
    {
        "a": true,
        "b": false,
        "c": null
    }
    >>>

     说明:Python中的True转换为true,False转化为false,None转换为null。使用loads将JSON类型转换后还原,如下:

    >>> json.loads(json_data)
    {'a': True, 'b': False, 'c': None}

    小结

      本文仅是描述了Python基本类型与JSON字符串间转换的基本使用方法。对于JSON编解码更多功能使用可以阅读官方文档获取:https://docs.python.org/3/library/json.html

  • 相关阅读:
    回调函数中调用类中的非静态成员变量或非静态成员函数
    [NewCoder]复杂链表的复制
    C++对象模型--总结
    chunk writer 中需要对抛错的交易进行回滚,同时又要在其他表中记录是哪一笔交易记录失败
    为什么因式分解n=pq分别得到pq是求解密钥中d的关键
    DB2 创建数据库
    socket 收发报文小程序
    Zbrush Topogun 备忘
    过度科目理解
    借贷记账思考2015.12.28
  • 原文地址:https://www.cnblogs.com/linyfeng/p/12244596.html
Copyright © 2020-2023  润新知