TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encodings'
在学习Python时,以下代码执行报错:

这里报错的主要原因是,在旧版本的json中,可以传递encoding这个参数,我使用的是新版的,使用以下命令可在终端中可查看json的版本。
python -c "import json; print(json.__version__)"

我的版本是2.0.9,在这里,json.loads中已经没有了encoding这个参数,他会自行匹配,因此我们只需将encoding=‘utf-8’给去掉即可,或者改为content.encode('utf-8)。
"""
_*_ : utf-8 _*_
@Time: 2023/11/18 21:07
@Author: LWK
@File: 083_requests
@Project: demo01
"""
import requests
import json
url = 'https://fanyi.baidu.com/sug'
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76'
}
param = {
'kw': 'dog'
}
res = requests.post(url=url, data=param, headers=headers)
context = res.text
print(context)
# jsonText = json.loads(context, encodings='utf-8')
jsonText = json.loads(context)
print(jsonText)

浙公网安备 33010602011771号