• python中的json模块


    一. 什么是JSON

    1. JSON是JavaScript Object Notation的缩写,它是一种轻量级数据交互格式

    2. 本质是一个字符串,是JS对象的字符串表示法

    3. 与python中的字典很类似,不过有一些语法上的区别

    • 没有None值,只有null值

    • utf-8的编码格式

    • 字符串必须是双引号来表达的

    4. python当中的字符串要转换成json对象,要使用json库来完成

    二. 导入json模块

    import json

    三. json模块常用方法

    1. json.dumps(str, indent=4, sort_keys=True)  将一个python数据对象转换成一个json字符串

    • indent:格式化输出json数据,呈现更直观。indent=4表示缩进4个空格

    • sort_keys:json字符串按照字典的key进行排序

    2. json.loads()  将一个json字符串转换成python对象,比如json字符串转换成列表、字典

    四. 实例

    实例1

    import json
    
    #把一个python对象转换成json字符串
    a = {"name": "xiaozhai", "sex": None}
    
    b = json.dumps(a)
    print(b)
    print(type(b))
    
    #把一个json字符串转换成一个python字典
    c = json.loads(b)
    print(c)
    print(type(c))

    运行结果

    {"name": "xiaozhai", "sex": null}
    <class 'str'>
    {'name': 'xiaozhai', 'sex': None}
    <class 'dict'>

    注意:print()函数为了生成可读性更好的输出, 它会省去引号并打印,如果我们在python自带的IDLE中,不加print(),会看到更好的效果

    实例2:json.dumps()中indent的作用是缩进空格,sorted_keys会按照字典中key的首字母进行排序

    import json
    
    #把一个python对象转换成json字符串
    a = {"name": "xiaozhai", "sex": None}
    
    b = json.dumps(a, indent=4, sort_keys=True)
    print(b)
    print(type(b))

    运行结果

    {
        "name": "xiaozhai",
        "sex": null
    }
    <class 'str'>

    五. 附录

    1. python原始类型向json类型的转化对照表

    Python JSON
    dict object
    list, tuple array
    str, unicode string
    int, long, float number
    True true
    False false
    None null

    2. json类型转换到python类型的转化对照表

    JSON Python
    object dict
    array list
    string unicode
    number(int) int, long
    number(real) float
    true True
    false False
    null None

    参考文章

    http://www.runoob.com/python/python-json.html

    https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/001434499490767fe5a0e31e17e44b69dcd1196f7ec6fc6000

  • 相关阅读:
    多区域显示(5)-粘贴为图片链接
    coco2d-x怎样创建project
    把数组排成最小的数
    前端框架 EasyUI (1)熟悉一下EasyUI
    easyui form 方式提交数据
    Jquery插件easyUi表单验证提交
    EASYUI 表单(FORM)用法
    easyui form submit 不提交
    JQuery Easy Ui dataGrid 数据表格
    EasyUI datagrid 格式化显示数据
  • 原文地址:https://www.cnblogs.com/my_captain/p/9193375.html
Copyright © 2020-2023  润新知