如何在json数据的纯文本中获取堆栈api的响应,而不是响应application / json,因为respnose的第一种方式可以直接由progamme处理
答案 0 :(得分:0)
我找到了答案。因为stackoverflow的api返回“application / json”内容类型,所以 我的python脚本无法将其作为纯文本读取。实际上,“application / json”是一个文件,我使用方法获取文件编码,即gzip。所以,我现在可以使用python的“gzip”模块来阅读它。呀!
以下是调用“http://api.stackoverflow.com/1.0/stats”api的示例脚本:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
import urllib
import simplejson as json
import gzip
import cStringIO
def run():
url = 'http://api.stackoverflow.com/1.0/stats'
c = urllib.urlopen(url).read()
s = cStringIO.StringIO(c)
gzfile = gzip.GzipFile(fileobj=s, mode='rb')
content = gzfile.read()
data = json.loads(content)
print type(data)
print data
run()