提问者:小点点

JSONDecodeError:需要值


我对编码有点陌生,但我正试图通过另一个脚本将数据存储在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']}")

这是我在响应.json()中不断得到文件“C:\Users\Tatooine\Desktop\FYP\client.py”,第11行的错误

JSON return complex JSON . loads(self . text,**kwargs)中文件“C:\ program data \ anaconda 3 \ lib \ site-packages \ requests \ models . py”第897行

文件“C:\ program data \ anaconda 3 \ lib \ JSON _ _ init _ _。py”,第348行,加载return _ default _ decoder . decode(s)

文件“C:\ program data \ anaconda 3 \ lib \ JSON \ decoder . py”,第337行,在decode obj中,end = self.raw_decode(s,idx=_w(s,0)。end())

文件“C:\ program data \ anaconda 3 \ lib \ JSON \ decoder . py”的第355行,在raw_decode中将jsondecodererror(" Expecting value ",s,err.value)从None

JSONDecodeError:需要值


共1个答案

匿名用户

我认为您应该首先解码数据变量< code > data = response . decode()

然后在您可以将其转换为json对象之后

import json 
data = json.loads(data)

然后打印

print(f"Predicted keyword is: {data['keyword']}")

如果这对您有用,请告诉我