JSONDecodeError:期望值
Posted
技术标签:
【中文标题】JSONDecodeError:期望值【英文标题】:JSONDecodeError: Expecting value 【发布时间】: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: 期望值
【问题讨论】:
【参考方案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'以上是关于JSONDecodeError:期望值的主要内容,如果未能解决你的问题,请参考以下文章
json.decoder.JSONDecodeError:期望值:第 1 行第 1 列(字符 0)python
ubuntu linux上的python:json.decoder.JSONDecodeError:期望值:第2行第6列
JSONDecodeError:期望值:Keras+Rest API 应用程序的第 1 行第 1 列(字符 0)
Python/Django 请求 JSONDecodeError:期望值:第 1 行第 1 列(字符 0)
json.decoder.JSONDecodeError:期望值:尝试写入json文件时,第1行第1列(字符0)
在反序列化数据的时候报错raise JSONDecodeError("Expecting value", s, err.value) from None json.decode