TypeError: JSONDecoder.__init__() got an unexpected keyword argument 'encodings'

在学习Python时,以下代码执行报错:
image

这里报错的主要原因是,在旧版本的json中,可以传递encoding这个参数,我使用的是新版的,使用以下命令可在终端中可查看json的版本。

python -c "import json; print(json.__version__)"

image

我的版本是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)
posted @ 2023-11-18 22:06  IMKKA  阅读(766)  评论(0)    收藏  举报