【Python学习】Day-022 json格式数据

发布于:2023-01-25 ⋅ 阅读:(572) ⋅ 点赞:(0)

1. json

1. 什么是json

  1. json和xml都是通用的数据格式,可以用于不同编程语言之间的数据交流。
  2. json相对xml更小更轻、传输速度更快;xml相对json更安全。

2. json数据

json数据格式的要求:一个json有且只有一个数据;唯一的这个数据必须是json支持的类型。

json支持类型:

json 描述
数字 包括整数和小数,表示的时候直接写:100、23.5、-3.14、3e4
字符串 用双引号引起来的数据:“abc”、“小明”、“abc\n123\u4e00”
布尔 只有 true 和 false 两个值
空值 null
数组 相当于Python的列表:[数据1, 数据2, …]
字典 相当于Python的字典,但是键只能是字符串:{键1:值1, 键2:值2,…}

3. Python数据和json数据之间的转换

json python
数字 数字
字符串("") 字符串(’’)
布尔(true、false) 布尔(True、False)
空值(null) 空值(None)
数组 列表
字典 字典
  1. json -> python
    python中提供了json模块专门用来处理Python中的json数据
    import json
    json.loads(json格式字符串) - 将json格式字符串对应的json数据转换Python数据
    注意:json格式字符串指的是内容是json数据的字符串

    import json
    result = json.loads('"abc"')        # "abc"  -> 'abc'
    print(result, type(result))
    
    result = json.loads('100')          # 100  -> 100
    print(result, type(result))
    
    result = json.loads('true')         # true  ->  True
    print(result, type(result))
    
    result = json.loads('[100, "小明", null, true, false]')
    print(result, type(result))
    
    # 运行结果
    '''
    abc <class 'str'>
    100 <class 'int'>
    True <class 'bool'>
    [100, '小明', None, True, False] <class 'list'>
    '''
    
  2. python -> json

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

import 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} <class 'str'>
'''
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到