2012-03-28 2 views
3

Я пытался отобразить свое имя пользователя и репутацию из данных JSON, полученных из API StackOverflow.Отображение данных stackOverflow API JSON с использованием Flask

Im, использующий модуль python Запросы для извлечения данных. Вот код

from flask import Flask,jsonify 
import requests 
import simplejson 
import json 

app = Flask(__name__) 

@app.route("/") 
def home(): 
    uri = "https://api.stackexchange.com/2.0/users? order=desc&sort=reputation&inname=fuchida&site=stackoverflow" 
    try: 
     uResponse = requests.get(uri) 
    except requests.ConnectionError: 
     return "Connection Error" 
    Jresponse = uResponse.text 
    return Jresponse 

if __name__ == "__main__": 
    app.run(debug = True) 

Неиспользованные импорт является то, что мне нужно, чтобы это сделать, но не могу показаться, чтобы узнать, как сделать это. Ниже приводится то, что возвращается браузеру, я хочу просто показать имя пользователя [display_name] и репутацию. какие варианты я должен сделать, чтобы это сделать?

{ "элементы": [{ "user_id": 540028, "user_type": "зарегистрирован", "CREATION_DATE": 1292207782, "DISPLAY_NAME": "Fuchida", "profile_image": "HTTP: // www.gravatar.com/avatar/6842025a595825e2de75dfc3058f0bee?d=identicon & r = PG "," репутация ": 13," репутация_change_day ": 0," репутация_change_week ": 0," репутация_change_month ": 0," репутация_change_quarter ": 0, reputation_change_year ": 0," возраст ": 24," last_access_date ": 1332905685," LAST_MODIFIED_DATE ": 1332302766," is_employee "ложь" ссылка ":" http://stackoverflow.com/users/540028/fuchida "" website_url ":" http://blog.Fuchida.me "," location ":" Minneapolis MN "," account_id ": 258084," badge_counts ": {" gold ": 0," silver ": 0," bronze ": 3}}]," quota_remaining ": 282, quota_max": 300, "has_more": false}

ответ

4

Использовать json.loads() для чтения и декодирования данных.

from flask import Flask,jsonify 
import requests 
import simplejson 
import json 

app = Flask(__name__) 

@app.route("/") 
def home(): 
    uri = "https://api.stackexchange.com/2.0/users? order=desc&sort=reputation&inname=fuchida&site=stackoverflow" 
    try: 
     uResponse = requests.get(uri) 
    except requests.ConnectionError: 
     return "Connection Error" 
    Jresponse = uResponse.text 
    data = json.loads(Jresponse) 

    displayName = data['items'][0]['display_name']# <-- The display name 
    reputation = data['items'][0]['reputation']# <-- The reputation 

    return Jresponse 

if __name__ == "__main__": 
    app.run(debug = True) 
+0

Спасибо! Это разрешило проблему для меня, если бы она была ниже. Он возвращает только имя пользователя, но это достаточно хорошо. Спасибо! Это разрешило проблему для меня, если бы она была ниже. Он возвращает только имя пользователя, но это достаточно хорошо. "" "" " _displayName = parsedData ['items'] [0] ['display_name'] _ _return displayName_ – Fuchida

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

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