Day15 json和文件操作
文章目录
1. json数据
1.1 什么是json
json和xml都是一种通用的数据格式,可以用于不同编程语言之间的数据交流
json相对xml更小更轻,传输速度更快;xml相对于json更安全。
1.2 json数据格式
json数据格式的要求:一个json有且只有一个数据;并且唯一的这个数据必须是json支持的类型的数据。
json支持的类型有哪些:
1)数字:包括整数和小数,表示的时候直接写:100、23、0.3、-65、3e4
2)字符串:用双引号引起来的数据:“abc”、“小明”
3)布尔:只有 true 和 false 两个值
4)空值:null
5)数组:相当于python的列表:[数据1, 数据2, 数据3, …]
6)字典:相当于python的字典,但是键只能是字符串:{键1: 值1, 键2: 值2, 键3: 值3, …}
1.3 python数据和json数据之间转换
python中提供了json模块专门用来python中json数据
1)json 转 python
json ——> python
数字 ——> 数字
字符串 ——> 字符串(双引号变单引号)
布尔 ——> 布尔(true -> True、false -> False)
空值 ——> 空值(null -> None)
数组 ——> 列表
字典 ——> 字典
对应的函数:
json.loads(json格式字符串) —— 将json格式字符串对应的json数据转换成对应的python数据
注意:json格式字符串指的是字符串内容是json数据的字符串
content = open('data.json', encoding='utf-8').read()
result = json.loads(content)
print(result)
# result = json.loads("abc") # 报错,字符串内容是 abc, 不是一个合法的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(