YQL:没有JSON对象可以解码错误

时间:2013-06-29 01:30:56

标签: python json yql

使用python 2.7.3从yql finance中检索json数据。这是代码:

import urllib
import json


response = urllib.urlopen("http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.keystats%20WHERE%20symbol%3D'T'&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys")

pyresponse = json.load(response)

print pyresponse

我收到以下错误:

ValueError:无法解码JSON对象

2 个答案:

答案 0 :(得分:2)

json.load中可能缺少“s”。 (json.load-> json.loads)

要打印json对象,您可以考虑使用 json.dumps 将对象转换为字符串。

答案 1 :(得分:1)

YQL的默认数据类型是XML。要更改此设置,请将format设置为JSON。

http://query.yahooapis.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.finance.keystats%20WHERE%20symbol%3D'T'&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&format=json

Clicky

此外,正确的函数称为loads而不是loadjson.loads(response))。