2017-01-29 7 views
2

からのデータを使用して:私は次のようになりますJSONレスポンスを与えるAPIを使用するプログラムを作成しようとしていますJSONレスポンス

import json 
jsonbaldata = "" 
mytoken = "" 

def getbal(): 
    jsonbaldata = json.loads("https://website.com/api/apinformationhere/?api_key=" + APIKey + "&code=" + my_token) 
    print("Balance: " + available_balance) 
    return; 

print("Starting program...") 
getbal() 

{ 
    "status" : "success", 
    "data" : { 
    "available_balance" : "0.1137", 
    "datastuff" : "0.0000", 
    "moredata" : "0.1137", 
    } 
} 

だから私のプログラムは次のようになります

私はjsonbaldataと呼ぶと、後でプログラムに与えられる変数をどうやって使うことができるのでしょうか?たとえば、available_balanceを印刷したいとしたら、JSONデータを使用可能なPythonデータに変更するにはどうすればよいですか?

また、APIを正しく呼び出すことさえできますか?またはjson.loadsこれを行うには良い方法ではありません/それを行うより効率的な方法があります。

+0

二つのことは、a)は –

+0

'json.loads'はないjson.loads(URL)することはできませんuはJSONとしてそれをロードします)要求Bを使用して応答をAPIを呼び出すとiterate..you Web要求を実行しません。それには別のライブラリが必要です。 –

+0

また、Python jsonのドキュメントを読んでみてください。それはあなたの他の質問に答えます –

答えて

4

APIデータを最初に取得するには、実際のGETリクエストを使用する必要があります。これにはrequestsを使用してください。

あなたはそうのようなデータをロードしたい:

import requests 

r = requests.get("https://website.com/api/apinformationhere/", params={'api_key': APIKey, 'code': my_token}) 
data = r.json()[0] 

することはでき、その後のpythonの辞書としてアクセスデータ、すなわち

print(data['data']['available_balance']) 
2

あなたのデータ:

js ={ 
     "status" : "success", 
     "data" : { 
     "available_balance" : "0.1137", 
     "datastuff" : "0.0000", 
     "moredata" : "0.1137", 
     } 
    } 

Q.「プログラムの後半でどのように変数を使用するのですか」 "available_balanceを印刷したいとしますが、JSONデータを使用可能なPythonデータに変更するにはどうすればよいですか?"あなたはPythonの辞書を持っているし、次のようにデータにアクセス

A.:

js['data']['available_balance'] 

出力:

'0.1137'

私はあなたがそれとしてrequests documentationを読んでも推薦します次のような例があります。

import requests 

r = requests.get('https://api.github.com/events') 
r.json() 

出力:

[{u'repository': {u'open_issues': 0, u'url': 'https://github.com/... 
関連する問題