Python 学习问题, json 格式不对

2019-10-14 13:57:52 +08:00
 PbCopy111

学习 python,用的一个源代码:

https://github.com/rollingstarky/Python-Voice-Assistant/blob/master/src/ai.py

就是录音+百度识别+图灵

这个代码有点老了,我这里运行的错误提示如下:

please say something
you said: 你好
Traceback (most recent call last):
  File "aitalk.py", line 129, in <module>
    response = robot(request)
  File "aitalk.py", line 78, in robot
    response_dict = json.loads(response.text)
  File "/Users/v2ex/.pyenv/versions/3.6.0/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/Users/v2ex/.pyenv/versions/3.6.0/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Users/v2ex.pyenv/versions/3.6.0/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

请教应该怎么修改啊??

2776 次点击
所在节点    Python
7 条回复
guyeu
2019-10-14 14:03:18 +08:00
你把 response 打印出来不就能知道 json 哪里不对了。。
ysc3839
2019-10-15 00:39:38 +08:00
这个代码怎么这么奇怪? requests 有 .post() 的方法,还用 request('POST', ...)。requests 有 res.json() 的方法,还用 json.loads()。
l4ever
2019-10-15 08:47:01 +08:00
@ysc3839 水平不行呗.
请求 api 完全不判断一下能否返回结果啊.
我 request 之后都会 try 一下.


result = response_dict["results"][0]["values"]["text"]
还有这个,万一 dict 没有 results 怎么办?
PbCopy111
2019-10-15 09:27:15 +08:00
@rollingstarky 看看作者在不在这里。。。。。
craiiz
2019-10-15 16:13:24 +08:00
一般情况是第 78 行的时候发生了错误,导致返回的内容已经不是 json,变成了 html 或其他的数据
cominghome
2019-10-17 09:33:02 +08:00
我在想你的学习计划是不是安排得有问题,拧螺丝都没拧熟就准备开始造火箭啦?
PbCopy111
2019-10-17 13:02:02 +08:00
@cominghome 没办法,都说看了基础,开始做程序,我就看看别人的源码,然后慢慢来呗。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/609135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX