2017-11-10 17 views
0

こんにちは、私は結果をフィルタリングする方法を理解しようとしています。PythonフィルタJson requests.get結果

返すURLでhttps://www.cryptopia.co.nz/api/GetMarket/5662

requests.getを使用してイム:

{ 
    "Success": true, 
    "Message": null, 
    "Data": { 
     "TradePairId": 5662, 
     "Label": "ETN/BTC", 
     "AskPrice": 0.00000493, 
     "BidPrice": 0.00000492, 
     "Low": 0.00000488, 
     "High": 0.00000575, 
     "Volume": 12863643.12913574, 
     "LastPrice": 0.00000492, 
     "BuyVolume": 281607744.12368695, 
     "SellVolume": 12716829.67763919, 
     "Change": -10.38, 
     "Open": 0.00000549, 
     "Close": 0.00000492, 
     "BaseVolume": 68.58095479, 
     "BuyBaseVolume": 86.33526192, 
     "SellBaseVolume": 448023579.52566910 
    }, 
    "Error": null 
} 

を私は例えばやりたいことがちょうど2つのフィールドを抽出しています。

は、 "ラベル" と "AskPrice" ここ

としましょう私のコードです:私は、私はあなたの助けみんなに感謝し、ここで

から何をすべきかを知る必要があり

r = requests.get('https://www.cryptopia.co.nz/api/GetMarket/5662') 
json_data = r.json() 

:)

答えて

2

応答で呼び出されるjsonメソッドは、Python dictを返します。したがって、json_data.get(u'Data').get(u'Label')または012を呼び出してプロパティにアクセスできます。私は数がフォーマットを取得する方法を疑問に思っAskPrice json_data.get(u'Data ')。取得(u'Label)IMを取得すると

+0

を取得します。現在返されている4.79e-06ですが、私が必要とするものは0.00000479 – Jay

+0

です。どちらの場合でも数字は同じです。おそらく、それを表示するために使用する関数( 'print'?)は、それをより人間が読めるように内部的にフォーマットしています。 – ValLeNain

1

これはあなたの両方の

json_data['Data']['Label'] 
json_data['Data']['AskPrice'] 
+0

お世話になりました。私は別の質問があります。私も "Id"を取得したい場合、それは私に重要なエラーを与えます。私は他の何か「データ」を使用する必要がありますか? Id値のために? – Jay

+0

また、AskPriceで返された数値は4.79e-06です。とにかくこの形式になっていれば読み込めるようになります0.00000479 – Jay

+0

idの質問を無視して応答しません。AskPriceの番号を知る必要があります – Jay