我有以下代码:
import urllib2
response = urllib2.urlopen('http://python.org/')
在json
中获得此功能的最简单方法是什么?
答案 0 :(得分:3)
“http://python.org/”的输出未返回json文档。
您可以按以下方式检查输出类型:
>>> import urllib2
>>> response = urllib2.urlopen('http://python.org/')
>>> response.headers.type
'text/html'
>>>
好的,让我们看一下json response api的一个例子:
>>> 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 :(得分:1)
给定一个响应对象,你会做
jsondata = json.load(response)
当然,您将从实际为JSON数据的URL中提取数据(http://python.org/
不是JSON)。