【问题标题】:JSONDecodeError: Expecting valueJSONDecodeError:期望值
【发布时间】:2020-09-04 22:04:29
【问题描述】:

我对编码有点陌生,但我试图通过另一个脚本获取存储在 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 行,json return complexjson.loads(self.text, **kwargs)

文件“C:\ProgramData\Anaconda3\lib\json__init__.py”,第 348 行,加载中 返回_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 行,在 raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None

JSONDecodeError: 期望值

【问题讨论】:

    标签: python json jsondecoder


    【解决方案1】:

    我认为你应该先解码 data 变量 data = response.decode()

    然后你可以把它转换成一个json对象

    import json 
    data = json.loads(data)
    

    然后打印

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

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

    【讨论】:

    • 我试过这个,但它给了我一个 AttributeError: 'Response' object has no attribute 'decode'
    猜你喜欢
    • 2017-12-28
    • 2021-03-05
    • 2018-10-07
    • 2021-02-23
    • 1970-01-01
    • 2016-04-07
    • 2020-10-12
    • 2021-11-24
    • 2021-05-17
    相关资源
    最近更新 更多