json
Python为我们提供了简单易用的库来实现JSON文件的读写操作
loads()方法将JSON文本字符串转为JSON对象
import json str = ''' [{ "name": "Bob", "gender": "male", "birthday": "1992-10-18" }, { "name": "Selina", "gender": "female", "birthday": "1995-10-18" }] ''' print(type(str)) data = json.loads(str) print(data) print(type(data))
运行结果:
<class 'str'>
[{'name': 'Bob', 'gender': 'male', 'birthday': '1992-10-18'}, {'name': 'Selina', 'gender': 'female', 'birthday': '1995-10-18'}]
<class 'list'>
注意:JSON的数据需要用双引号来包围,不能使用单引号
dumps()方法将JSON对象转为文本字符串。
import json data = [{ 'name': 'Bob', 'gender': 'male', 'birthday': '1992-10-18' }] with open('data.json', 'w') as file: file.write(json.dumps(data))
如果想保存JSON的格式,可以再加一个参数indent,代表缩进字符个数。
with open('data.json', 'w') as file: file.write(json.dumps(data, indent=2))
中文字符都变成了Unicode字符,这并不是我们想要的结果。
为了输出中文,还需要指定参数ensure_ascii为False,另外还要规定文件输出的编码:
with open('data.json', 'w', encoding='utf-8') as file: file.write(json.dumps(data, indent=2, ensure_ascii=False))
浙公网安备 33010602011771号