JSON解码错误:期待值

0 投票
1 回答
1299 浏览
提问于 2025-06-18 04:13

我刚开始接触编程,但我想通过另一个脚本获取存储在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']}")

如果这样能解决你的问题,请告诉我。

撰写回答