Как получить простой текст данных JSON при вызове стека API вместо «приложения / JSON»? - PullRequest
0 голосов
/ 16 декабря 2010

Как получить ответ стека api в виде обычного текста данных json, а не приложения application / json, потому что первый способ ответа может быть обработан напрямую с помощью программы

1 Ответ

0 голосов
/ 16 декабря 2010

Я нашел ответы.Поскольку API-интерфейс stackoverflow возвращает тип содержимого «application / json», мой скрипт на python не может прочитать его как обычный текст.Фактически «application / json» - это файл, и я использую методы для получения кодировки файла, то есть gzip.Итак, я могу использовать модуль "gzip" в python, чтобы прочитать его сейчас.Да!

Вот мой пример сценария вызова API "http://api.stackoverflow.com/1.0/stats":

#!/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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...