2012-03-28 2 views
3

StackOverflow API에서 검색된 JSON 데이터에서 사용자 이름과 평판을 표시하려고했습니다.Flask를 사용하여 stackOverflow API JSON 데이터 표시

나는 파이썬 모듈 을 사용하여 데이터를 검색하기 위해을 요청합니다. 여기에 사용되지 않은 수입은 내가이 작업을 수행하는 데 필요한하지만 캔트 그것을 수행하는 방법을 아는 것 같은데 무엇 코드

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": "치다", "profile_image": "HTTP : // "평판 변경": 0, "평판 변경": 0, "평판 변경": 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 ": {"금 ": 0,"은색 ": 0,"청동 ": 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