zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    nginx服务与nfs服务
    linux基础(3)
    Linux基础(4)
    Linux命令基础(2)
    Linux命令基础(1)
    HTML——表单验证、正则表达式、事件
    css修改鼠标指针的形状
    ajax请求tab切换重新渲染Echarts图表
    5种状态下的HTTP状态码
    vue&Angular&React的优缺点
  • 原文地址:https://www.cnblogs.com/my_captain/p/9193375.html
Copyright © 2011-2022 走看看