• 多测师肖sir_高级金牌讲师___python之json模块


    python之json模块
    python标准模块之json

    定义:json (java script object notation)是轻量级的文本数据交换格式

    案例json:

    json和字典 一样

    一、json模块可以实现json数据的序列化和反序列化

    (1)序列化:将可存放在内存中的python 对象转换成可物理存储和传递的形式

    实现方法:load() loads()

    (2)反序列化:将可物理存储和传递的json数据形式转换为在内存中表示的python对象

    实现方法:dump() dumps()

    查看 dump用法:ctrl+点击dump

    a、json.load 将json格式的文件中的读取数据并转换成python 的类型
    b、json.loads 将json格式的字符串转换成python 数据类型
    c、json.dump 将python 数据类型转换成json格式在文件内
    d、json.dumps 将python 数据类型转换成json格式的字符串

    ===================================================

    1、由python对象格式化成为json() dumps()

    案例1:将字典格式转化字符

    import  json
    dict1={'name':"zs",'age':'18','sex':'男','isonly':True}
    print(dict1) #{'name': 'zs', 'age': '18', 'sex': '男', 'isonly': True}
    print(type(dict1)) #
    j=json.dumps(dict1,ensure_ascii=False)
    print(j) #{"name": "zs", "age": "18", "sex": "男", "isonly": true}
    print(type(j)) #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    截图:
    在这里插入图片描述

    备注:

    1、python中的字典是单引号,JSON字符是双引号

    2、字典是大写True, 字符是小写

    ================================================

    dump 方法:
    定义:往文件中添加字符json
    案例1:

    import  json
    dict1={'name':"zs",'age':'18','sex':'男','isonly':True}
    json.dump(dict1,open(r'C:\Users\Administrator\PycharmProjects\untitled38\dcs\dcs1\hzdcs1.json','w'))
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    ===================================================·

    indent=4 indent 分隔符 ,排序

    案例3:

    import  json
    dict1={'name':"zs",'age':'18','sex':'男','isonly':True}
    json.dump(dict1,open(r'C:\Users\Administrator\PycharmProjects\untitled38\dcs\dcs1\hzdcs1.json','a',encoding='utf-8'), ensure_ascii=False,indent=2)
    
    • 1
    • 2
    • 3

    结果:
    在这里插入图片描述

    在这里插入图片描述

    对json中字符 排序

    sort_keys=True 排序;
    案例:

    import  json
    dict1={'name':"zs",'age':'18','sex':'男','isonly':True}
    json.dump(dict1,open(r'C:\Users\Administrator\PycharmProjects\untitled38\dcs\dcs1\hzdcs1.json','a',encoding='utf-8'),
              ensure_ascii=False,indent=2,sort_keys=True)```
    
    截图:
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/859da96d0b194e0e82924bc8ba2c3ab5.png)
     
    
    =================================================================
    
    三、 json string   转化称python对象
    
    (1)字符类型转换成字典
    
    ```python
    import  json
    j='{ "name": "zs","age": "18","sex": "男"}'
    print(type(j)) #
    d=json.loads(j,encoding='utf-8')
    print(d) #{'name': 'zs', 'age': '18', 'sex': '男'}
    print(type(d)) #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    截图:
    在这里插入图片描述

    (2)字符类型转换成元组

    案例:

    import  json
    j='[{ "name": "zs","age": "18","sex": "男"}]'
    print(type(j)) #
    d=json.loads(j,encoding='utf-8')
    print(d) #{'name': 'zs', 'age': '18', 'sex': '男'}
    print(type(d)) #
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

    四、load文件转换成 对象方式

    1、创建json格式:

    import  json
    wjson=json.load(open(r'C:\Users\Administrator\PycharmProjects\untitled38\dcs\dcs1\hzdcs1.json','r',encoding='utf-8'))
    print(wjson)
    print(type(wjson)) #
    
    • 1
    • 2
    • 3
    • 4

    截图:

    在这里插入图片描述

  • 相关阅读:
    网心云容器魔方在iStoreOS下的多开
    OpenHarmony4.0对RK3566的烧写过程
    Java 简易版王者荣耀
    【无标题】
    IDC_ISP网络之IDC机房内网络架构及配置
    Docker容器学习笔记(看了狂神视频)
    Pytorch从零开始实现Vision Transformer (from scratch)
    收银系统十大排名(2023年十大收银软件品牌排行榜)
    NC129 阶乘末尾0的数量
    关于SqlSugar的多对多的级联插入的问题(无法获取集合属性的id,导致无法维护中间表)
  • 原文地址:https://blog.csdn.net/m0_47403059/article/details/133898279