李守中

Python JSON 文件处理

Table of Contents

1 JSON 支持数据格式

  1. 对象 ( 字典 )。使用花括号。
  2. 数组 ( 列表 )。使用方括号。
  3. 整形、浮点型、布尔类型还有null类型。
  4. 字符串类型 ( 字符串必须要用双引号,不能用单引号 )。

多个数据之间使用逗号分开。

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)


Last Update: 2023-05-18 Thu 09:12

Contact: [email protected]     Generated by: Emacs 27.1 (Org mode 9.3)

若正文中无特殊说明,本站内容遵循: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议