JSON解码错误:期待值
我刚开始接触编程,但我想通过另一个脚本获取存储在json文件中的数据,可是总是出现错误。以下是我的代码:
import requests
URL = "http://127.0.0.1:5000/predict"
TEST_AUDIO_FILE_PATH = "test/soma.wav"
if __name__ =="__main__":
audio_file = open(TEST_AUDIO_FILE_PATH, "rb")
values = {"file":(TEST_AUDIO_FILE_PATH, audio_file, "audio/wav")}
response = requests.post(URL, files=values)
data = response.json()
print(f"Predicted keyword is: {data['keyword']}")
这是我一直遇到的错误信息:
文件 "C:\Users\Tatooine\Desktop\FYP\client.py",第11行,出错的位置是:
response.json()
文件 "C:\ProgramData\Anaconda3\lib\site-packages\requests\models.py",第897行,出错的位置是:
return complexjson.loads(self.text, **kwargs)
文件 "C:\ProgramData\Anaconda3\lib\json\__init__.py",第348行,出错的位置是:
return _default_decoder.decode(s)
文件 "C:\ProgramData\Anaconda3\lib\json\decoder.py",第337行,出错的位置是:
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
文件 "C:\ProgramData\Anaconda3\lib\json\decoder.py",第355行,出错的位置是:
raise JSONDecodeError("Expecting value", s, err.value) from None
错误类型:JSONDecodeError,提示信息是:“期待一个值”。
相关问题:
- 暂无相关问题
1 个回答
0
我觉得你应该先解码 data 这个变量。
data = response.decode()
然后你可以把它转换成一个 json 对象。
import json
data = json.loads(data)
接着打印出来。
print(f"Predicted keyword is: {data['keyword']}")
如果这样能解决你的问题,请告诉我。