day16 学习总结

day16 学习总结

1. json数据
  • json

    • json是一种通用的数据格式,可以用于不同编程语法之间的数据交流
    • json相对于xml,更小更轻,传输更快;xml相对于json更安全。
  • json数据格式

    • json数据格式的要求:一个json有且只有一个数据;唯一的这个数据必须是json支持的类型的数据
    • json支持类型:
      1. 数字 - 包括整数和小数,标志是的时候直接写:100,23.53e4
      2. 字符串 - 用双引号引起来的数据:“abc”,“你好”
      3. 布尔 - 只有true和false两个值
      4. 空值 - null
      5. 数组 - 相当于Python的列表[数据1,数据2,…]
      6. 字典 - 相当于python中的字典,但是键只能是字符串:{键1:值1,键2:值2}
  • Python数据和json数据之间的转换

    • json转Python

      1. 数字 —> 数字
      2. 字符串 —> 字符串(双引号遍单引号)
      3. 布尔 —> 布尔(true -> True ; false -> False)
      4. 空值 —> 空值(null --> None)
      5. 数组 —> 列表
      6. 字典 —> 字典
    • 对应的函数:json.loads(json格式字符串) - 键json格式字符串对应的json数据转换Python数据

    • 注意:json格式字符串指的是内容是json数据的字符串。

      result = json.loads('"abc"')        # "abc"  -> 'abc'
      print(result, type(result))  # abc <class 'str'>
      
      result = json.loads('100')          # 100  -> 100
      print(result, type(result))   # 100 <class 'int'>
      
      result = json.loads('true')         # true  ->  True
      print(result, type(result))  # True <class 'bool'>
      
      result = json.loads('[100, "小明", null, true, false]')
      print(result, type(result))  # [100, '小明', None, True, False] <class 'list'>
      # 从json文件中解析数据获取所有英雄的名字
      f = open('../files/hero.json',encoding='utf-8')
      content = f.read() # 读取json文件
      
      result = json.loads(content) # json文件转python
      for i in result["hero"]: # 遍历
          print(i["name"],i["title"])
      
    • python转json

      1. str —> 字符串(单引号变双引号)
      2. bool —> True -> true,False -> false
      3. None —> null
      4. 列表,元组 —> 数组
      5. 字典 —> 字典
    • 对应的函数:

      • json.dumps(Python数组) - 将指定Python数据转换成对应的json格式字符串

        json.dumps(100)             # '100'
        json.dumps('abc')           # '"abc"'
        json.dumps(True)            # 'true'
        result = json.dumps({'a': 10, 20: 30, 'name': 'xiaoming', 'isMarred': True})
        print(result, type(result))     # '{"a": 10, "20": 30, "name": "xiaoming", "isMarred": true}'
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值