运行环境:Django+Python3.10

原因:

这个错误信息表示尝试使用了 JSONDecoder 类的 __init__ 方法时提供了一个不被期望的关键字参数 encoding。在 Python 3.9 以前的版本中,json.loads 和 JSONDecoder 支持 encoding 参数,用于指定解码 JSON 字符串使用的编码。然而,从 Python 3.9 开始,这个参数被移除了,因为 JSON 标准明确规定编码必须是 UTF-8,使得这个参数变得不再必要。

例如代码:

import json

# 假设你在调用 JSONDecoder 时使用了 encoding 参数

decoder = json.JSONDecoder(encoding='utf-8')

import json

# 假设你在调用 json.loads 时使用了 encoding 参数

data = json.loads(some_json_string, encoding='utf-8')

运行会报错!

解决方式:

移除encoding 参数的使用

更改为:

import json

# 使用 JSONDecoder 时不带 encoding 参数

decoder = json.JSONDecoder()

# 或在调用 json.loads 时不带 encoding 参数

data = json.loads(some_json_string)

测试运行正常!

相关阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: