Python JSON 文件处理
Table of Contents
1 JSON 支持数据格式
- 对象 ( 字典 )。使用花括号。
- 数组 ( 列表 )。使用方括号。
- 整形、浮点型、布尔类型还有null类型。
- 字符串类型 ( 字符串必须要用双引号,不能用单引号 )。
多个数据之间使用逗号分开。
json 本质上就是一个字符串。
2 字典和列表转 JSON
import json
books = [{'title': '钢铁是怎样练成的','price': 9.8},
{'title': '红楼梦','price': 9.9}]
json_str = json.dumps(books,ensure_ascii=False)
print(json_str)
json 包做 dump
操作的时候,只能处理 ascii 字符,因此会将中文进行转义,这时可以使用 ensure_ascii=False
关闭这个特性。
Python 中只有 int, float, str, list, dict, tuple 等基本数据类型才能转换成 JSON 格式的字符串。
2.1 直接 dump 到文件
json 模块中除了 dumps
函数,还有一个 dump
函数,这个函数可以传入一个文件指针,直接将字符串写入到文件中。示例代码如下:
books = [{'title': '钢铁是怎样练成的','price': 9.8},
{'title': '红楼梦','price': 9.9}]
with open('a.json','w') as fp:
json.dump(books,fp)
3 json 字符串转 Python 对象
json_str = '[{"title": "钢铁是怎样练成的", "price": 9.8}, {"title": "红楼梦", "price": 9.9}]'
books = json.loads(json_str,encoding='utf-8')
print(type(books))
print(books)
3.1 从文件中读取 json 字符串
import json
with open('a.json','r',encoding='utf-8') as fp:
json_str = json.load(fp)
print(json_str)