Python自動交易比特幣:處理JSON數據, JSON教學

雜記

到目前為止已經學會如何使用API來查詢比特幣過去的價格了,這篇文章要介紹如何使用這些data。

透過API取得的數據通常會像下面這樣,沒有空白鍵,改行的數字英文的數據。

像這樣的數據我們會稱為JSON形式的數據。在這裡我們要學習如何從JSON中取出需要的數據。

只取出需要的數據

在這邊就不介紹JSON是什麼,我們直接進入如何取得需要的數據。

JSON的數據通常像下面這樣在中括號裡。

例如:[122, 3344, 1231, 33092]

但是,JSON通常還會有另一種寫法,也就是用大括號。

例如:{“btc”:112004, “eth”:104495, “xrp””130}

這邊就跟使用中括號時不同,一個數據裡面有兩個值:「OO : XX」。這種數據我們會將OO稱為Key,XX稱為value。我們只要指定Key就可以取得裡面的value。例如在這邊我們只要指定”btc”就可以取得112004這個數字。

用BitFlyer的API試試

這次也使用BitFlyer的API來取得數據。

https://api.bitflyer.jp/v1/ticker/

就可以得到下面的JSON形式的數據。

{"product_code":"BTC_JPY","state":"RUNNING","timestamp":"2021-10-17T09:07:26.46","tick_id":382825,"best_bid":6918045.0,"best_ask":6920643.0,"best_bid_size":0.08,"best_ask_size":0.04,"total_bid_depth":735.40420306,"total_ask_depth":446.98406143,"market_bid_size":0.0,"market_ask_size":0.0,"ltp":6918151.0,"volume":8268.07129946,"volume_by_product":1961.91601548}

接著我們來試著用Python來取得best bid的數據吧!

用Python取得數據

import requests
response = requests.get("https://api.bitflyer.jp/v1/ticker/")
data = response.json()
print( data["best_bid"] )

data = response.json() 的意思是告訴python說這個數據是json data,並且把他代入一個變數data之中。

這次只要執行上面的代碼之後就可以取得best bid的數據了!如果想要取得起他數據的話只要將print(data[“best_bid”])中的”best_bid”改成其他key就可以了。

留言