TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
时间: 2023-11-20 09:59:05 浏览: 211
这个错误是因为在新版本的json库中,JSONDecoder类的构造函数不再接受encoding参数。如果你想要指定编码方式,可以在调用json.loads()函数时传递一个额外的参数,例如:json.loads(content, encoding='utf-8')。如果你使用的是旧版本的json库,那么这个参数是有效的。你可以通过在终端中运行以下命令来检查你的json库版本:python -c "import json; print(json.__version__)"
相关问题
发送腾讯云短信时报错:TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding',怎么解决
这个错误可能是因为您使用的 Python 版本较旧,JSONDecoder 类在 Python 2.x 中不支持 encoding 参数。
您可以尝试以下解决方法:
1. 升级 Python 版本到 3.x。
2. 在代码中删除 encoding 参数,使用默认值即可。
例如,将如下代码:
```python
json.loads(json_str, encoding='utf-8')
```
修改为:
```python
json.loads(json_str)
```
这应该可以解决该问题。
为什么腾讯云发送短信成功了,但是pycharm报错:TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encoding'
这个错误可能是因为您使用的 Python 版本较老,导致 JSONDecoder 类的初始化函数不支持 encoding 参数。您可以尝试将 Python 版本升级至 3.6 及以上版本,并检查您的代码中是否使用了正确的 JSONDecoder 初始化方式。或者,您可以尝试使用其他的 JSON 解析库,如 simplejson 或 ujson。
阅读全文