简体   繁体   English

使用Flask显示stackOverflow API JSON数据

[英]Displaying stackOverflow API JSON data using Flask

I've been trying to display my username and reputation from the JSON data retrieved from the StackOverflow API. 我一直在尝试从StackOverflow API检索到的JSON数据中显示我的用户名和信誉。

Im using the python module Requests to retrieve the data. 我使用python模块请求来检索数据。 Here is the code 这是代码

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)

The unused imports is what I need to get this done but cant seem to know how to get it done. 未使用的导入是我完成这项工作所需要的,但似乎无法知道如何完成它。 Below is what is returned to the browser, I want to just display the username [display_name] and the reputation. 下面是返回浏览器的内容,我想只显示用户名[display_name]和声誉。 what options do I have to get this done ? 我有什么选择来完成这项工作?

{"items":[{"user_id":540028,"user_type":"registered","creation_date":1292207782,"display_name":"Fuchida","profile_image":"http://www.gravatar.com/avatar/6842025a595825e2de75dfc3058f0bee?d=identicon&r=PG","reputation":13,"reputation_change_day":0,"reputation_change_week":0,"reputation_change_month":0,"reputation_change_quarter":0,"reputation_change_year":0,"age":24,"last_access_date":1332905685,"last_modified_date":1332302766,"is_employee":false,"link":"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} { “物品”:[{ “USER_ID”:540028 “USER_TYPE”: “注册”, “CREATION_DATE”:1292207782, “DISPLAY_NAME”: “Fuchida”, “profile_image”:“http://www.gravatar.com/化身/ 6842025a595825e2de75dfc3058f0bee d = identicon&R = PG”, “信誉?”:13, “reputation_change_day”:0 “reputation_change_week”:0 “reputation_change_month”:0 “reputation_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“:假}

Use json.loads() to read and decode the data. 使用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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM