2015-03-11 2 views
-1

Так что в основном я получаю ошибку «возврат внешней функции» при выполнении кода.Как вернуть ответ json в функции и сравнить его?

Что бы я хотел сделать, это сделать функцию, которая получает ответ JSON от API, тогда я мог бы сравнить этот ответ со строкой, чтобы вставить какой-то текст, если они идентичны.

вот мой код.

def res(): 
    api = "http://football-api.com/api/?Action=competitions&APIKey=aade7b79-af8b-9908-ad990d651a08&comp_id=1204" 
    respobj = requests.get(api) 
    adict = respobj.json() 
    theresponse = adic['ERROR'] 
return theresponse 

if(res()) == "no matches found today": 
    output.insert(END, "There no premier leauge matches today") 
else: 
# Grab todays matches and scores from the API 
    output.insert(END, " ") 

И это ответ апи, что я пытаюсь получить объект «ERROR» из

{ 
    "APIVersion": 1, 
    "APIRequestsRemaining": 983, 
    "DeveloperAuthentication": "TRUE", 
    "Action": "today", 
    "Params": { 
    "Action": "today", 
    "APIKey": "aade7b79-af8b-9908-ad990d651a08", 
    "comp_id": "1204" 
    }, 
    "ComputationTime": 0.079131126403809, 
    "IP": "**********", 
    "ERROR": "no matches found today", 
    "ServerName": "Football-API", 
    "ServerAddress": "http://football-api.com/api" 
} 
+1

Исправить pls indentation ... и вернуть внешнюю функцию, вероятно, означает, что у вас есть беззаметный возврат в вашем коде ... – user3012759

+0

Любой ресурс, который я могу использовать, чтобы выяснить, как правильно отложить мой код? Я здесь просто новичок. – Baha

+0

это может помочь вам: http://www.diveintopython.net/getting_to_know_python/indenting_code.html, но кроме этого только Google вокруг, есть много ресурсов, охватывающих основы. порекомендую делать некоторые уроки, если вы совершенно новичок в этом. – user3012759

ответ

0
def res(self): 
    request_url = "http://football-api.com/api/?Action=competitions&APIKey=aade7b79-af8b-9908-ad990d651a08&comp_id=1204" 

    parse_url = urllib.urlopen(request_url).read() 

    raw_data = json.dumps(parse_url) 
    json_data = json.loads(raw_data) 

if (json_data['ERROR']): 
    //do something 

Это простой подход для извлечения данных из API. в соответствии с вашей потребностью, вы всегда можете изменить код!

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