• Python基础库-JSON库



    活动地址:CSDN21天学习挑战赛

    1 JSON介绍

    JSON的全称是JavaScript Object Notation",是JavaScript对象表示法, 它是一种基于文本,独立于语言的轻量级数据交换格式。

    json文件:

    ●一般是定义数据使用的
    ●在互联网传递数据的时候很常见的一种文件格式
    ●所有数据用- -对大括号括起来
    ●大括号内部是键值对,键和值用冒号分隔
    ●多个键值对用逗号分隔
    ●字符串用双引号
    ●数字不需要引号
    ●列表用空括号
    ●对象用大括号

    {
      "name": "tom",
      "age": "20",
      "addr": [1,2,3]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.1 json介绍

    json基于文本,独立于语言的轻量级的数据交换格式
    -基于文本,是一个文本文件
    -独立于语言,不是某个语言特有的,每种编程语言都可以使用的
    -轻量级,相同的数据,和其他格式相比,占用的大小比较小
    -数据交换格式,后端程序员给前端的数据(json,html xml 等)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.2 json 特点

    1.JSON是纯文本
    2.JSON具有良好的自我描述性,便于阅读和编写
    3.JSON具有清断的层级结构
    4.有效地提升网络传输效率
    
    • 1
    • 2
    • 3
    • 4

    1.3 json 文件的处理

    json 文件也是一个文本文件,就可以直接使用read( )和write() 方法
    去操作文件,只是使用这两个方法,不方便,所以对json文件有自己独特的读
    取和写入的方法
    
    常用在在做测试的时候,将测试数据定义为json 文件格式,使用代码读取
    json文件,即读取测试数据,进行传参(参数化)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1.4 json 语法规则

    -大括号保存对象
    -中括号保存数组
    -对象数组可以相互嵌套
    -数据采用键值对标识
    -多个数组由逗号分隔
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1.json 文件的后缀为 .json
    2.json 中主要数据类型为 对象({} 类似 python 中 字典) 和 数组([] 类似 python 中的列表),对象和数组可以互相嵌套
    3.一个json 文件是一个对象或者数组( 即 json 文件的最外层要么是一个{},要么是一个数组[])
    4. json中的对象是由键值对组成的,每个数据之间使用逗号隔开,但是最后
    一个数据后边不要写逗号
    5. json中的字符串必须使用双引号
    6. json中的其他数据类型
    >数字类型----> int float
    > string字符串 ---> str
    >布尔类型true, false -----> True, False
    >null ----> None
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.5 json 键

    JSON的键必须是字符串类型,用英文双引号扩起来

    1.6 json 文件的书写

    需求:
    我叫小明,我今年18岁,性别男,爱好听歌,游戏,购物,吃饭,睡觉,打豆豆,
    我的居住地址为国家中国,城市北京
    
    ptyhon -字典
    json -对象
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    {
      "name": "小明",
      "age": 18,
      "isMen": true,
      "like": [
        "听歌",
        "游戏",
        "购物",
        "睡觉",
        "打豆豆"
      ],
      "address": {
        "country": "中国",
        "city": "北京"
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    ctrl + alt + L 可以格式化语法

    1.7 读取json文件的方法(json. load)

    ●第一步要导入json模块
    。import json
    ●第二步打开json文件
    。json中有中文,一般字符集都是utf8,打开文件的时候要指定字符集为utf8
    。open(ison文件名, “r”, encoding=“utf8”)
    ●第三步:调用json模块的load方法,读取文件内容
    。data = json.load(file)
    ●第四步:关闭open打开的文件
    。file.close()

    1.导包import json 
    2.读打开文件
    3.读文件
    json. load(文件对象)
    
    #返回的是字典(文件中是对象)或者列表(文件中是数组)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    # 1, 导入 json
    import json
    
    # 2, 读打开文件
    with open('06.json', encoding='gbk') as f:
        # buf = f.read()
        # print(type(buf), buf)
        result = json.load(f)
        print(type(result)) # 
        # 获取姓名
        print(result.get('name'))
        # 获取年龄
        print(result.get('age'))
        # 获取城市
        print(result.get('address').get('city'))
     
    输出结果:
    <class 'dict'>
    tom
    18
    北京
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    案例2

    json文件

    {
      "name": "tom",
      "age": "20",
      "addr": [1,2,3]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    读取json文件

    import json
    
    file = open("06-2.json", encoding="utf8")
    data = json.load(file)  # 把json文件的内容转换为python的字典
    file.close()
    print(data)
    
    执行结果:
    {'name': 'tom', 'age': '20', 'addr': [1, 2, 3]}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    import json
    
    file = open("06-2.json", encoding="utf8")
    data = json.load(file)  # 把json文件的内容转换为python的字典
    file.close()
    # print(data)
    for n in data:
        print(n, data[n])
        
    执行结果:
    name tom
    age 20
    addr [1, 2, 3]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    1.8 操作json文件常见错误

    错误1:json格式错误

    json.decoder.JSONDecodeError
    
    • 1

    错误2:扩展名不是json,是其他的

    json文件的扩展名必须是. json
    
    • 1

    错误3:自己创建了一个文件名叫json.py

    Attri buteError: module'json' has no attribute '1oad'
    
    • 1
  • 相关阅读:
    LeetCode----120. 三角形最小路径和
    jQuery学习:核心函数和核心对象
    qemu 线程 vhost
    使用DevExpress的绑定导航
    Open3d数据滤波和点云分割
    非人脸场景AE模块调试方法及其合理性分析
    汇编实现点灯实验
    stm32---定时器输入捕获
    使用hutool工具发送带附件的邮件(特简单)
    「Spring」Boot Docker 认证指南(下)
  • 原文地址:https://blog.csdn.net/u014096024/article/details/126163993