2014-09-22 2 views

ответ

3

Выход «http://python.org/» не возвращает документы json.

Вы можете проверить типы вашей продукции, как показано ниже:

>>> import urllib2 
>>> response = urllib2.urlopen('http://python.org/') 
>>> response.headers.type 
'text/html' 
>>> 

ОК, давайте посмотрим один пример ответа API JSON:

>>> response = urllib2.urlopen('http://api.icndb.com/jokes/random') 
>>> response.headers.type 
'application/json' 
>>> 

Итак, в типе заголовка вы можете увидеть «application/json», что означает, что ответ содержит json-документы.

>>> import json 
>>> json_docs = json.load(response) 
>>> print json_docs 
{u'type': u'success', u'value': {u'joke': u'How many Chuck Norris require to screw a light  bulb? None, he will screw it all.', u'id': 562, u'categories': []}} 
>>> 
1

Учитывая объект ответа, вы могли бы сделать

jsondata = json.load(response) 

Конечно, вы будете извлечения данных из URL, который на самом деле данные JSON (http://python.org/ не JSON).

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