2013-06-29 3 views
0

Использование python 2.7.3 для извлечения json-данных из yql finance. Вот код:YQL: объект 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 не может быть расшифрован

+0

uhh это XML, [это] (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) ссылка –

ответ

2

Там может быть "s" отсутствует в json.load. (json.load-> json.loads)

Для печати объекта json вы можете использовать json.dumps, чтобы преобразовать объект в строку.

+0

лучей лучше, чем у меня, +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 не load (json.loads(response)).

 Смежные вопросы

  • Нет связанных вопросов^_^