JSON文件存储
了解如何利用python保存数据到JSON文件
# -*- coding: utf-8 -*-
# @Time : 2021/9/21 20:46
# @Author :liuw
# @File : json_demo.py
# @Software:
import json
'''
在javascript 语言中,一切都是对象,
对象和数组是比较特殊而且常用的类型
对象:{key1:value1,key2:value2}
数组结构为["java","javascript"]
'''
str='''
[{
"name": "Bob",
"gender": "male",
"birthday": "1992-10-18"
}, {
"name": "Selina",
"gender": "female",
"birthday": "1995-10-18"
}]
'''
print(type(str))
data = json.loads(str) #将字符串转变为JSON对象
print(data)
print(type(data)) # 返回<class 'list'>
print(data[0]['name'])
print(data[0].get('name')) #推荐使用这个 如果value不存在,不会报错 返回None
print(data[0].get('age')) #返回None
print(data[0].get('age'),25) #get方法传入第二个参数 就是默认值 返回25
print('我们可以调用dumps方法将json对象转化为字符串')
data =[{
'name':'Bob',
'gender':'male',
'birthday':'1992-02-03'
}]
with open('data.json','w') as file:
file.write(json.dumps(data,indent=2)) # 调用write()方法写入文本
#当json中包含中文字符时,调用dumps方法中文字符会生成Unicode字符
data =[{
'name':'王伟',
'gender':'male',
'birthday':'1992-02-03'
}]
#必须指定参数ensure_ascii为false
with open('data.json','w',encoding='utf-8') as file:
file.write(json.dumps(data,indent=2,ensure_ascii=False))