以前の記事では【コピペ】 ビットコイン価格をJavaScript(node.js)で取得する方法でbitFlyerの公式サイトにあるコードをコピペしてビットコイン価格を取得しました。
1 |
{"product_code":"BTC_JPY","timestamp":"2019-06-16T08:46:01.003","tick_id":1520536,"best_bid":988000.0,"best_ask":990000.0,"best_bid_size":3.44210013,"best_ask_size":0.995,"total_bid_depth":1629.56752365,"total_ask_depth":1032.76942173,"ltp":990051.0,"volume":169684.00792334,"volume_by_product":8978.11817642} |
上のようなJSON形式になっていますね。
今回は上の文字列をJavaScriptで扱えるように整形したいと思います。プログラミング初心者向けに解説します。
最初にサクッと準備の説明を行い、次にJSONをparseを使って編集します。
bitFlyerからJSON形式データを取得しよう
任意のフォルダにbitflyer.jsのファイルを作成して以下の公式サイトのコードをそのままコピペします。
1 2 3 4 5 6 7 8 |
var request = require('request'); var path = '/v1/ticker'; var query = ''; var url = 'https://api.bitflyer.com' + path + query; request(url, function (err, response, payload) { console.log(payload); }); |
実行すると冒頭の文字列が返ってきます。
nodeJSの環境が整っていない人は【コピペ】 ビットコイン価格をJavaScript(node.js)で取得する方法で環境を整えましょう。
JSON.parse()でオブジェクト形式へ変換しよう
JavaScriptでJSON.parse()を使うとJSON形式データをJavaScriptで扱えるデータに戻すことができます。
JavaScript用のデータへ元に戻すため”デコード”していることになります。
試しにpayloadをJSON.parse()でデコードしてみましょう。
1 |
const data = JSON.parse(payload) |
下のコードをコピペでOK
1 2 3 4 5 6 7 8 9 |
var request = require('request'); var path = '/v1/ticker'; var query = ''; var url = 'https://api.bitflyer.com' + path + query; request(url, function (err, response, payload) { const data = JSON.parse(payload) console.log(data); }); |
実行結果
1 2 3 4 5 6 7 8 9 10 11 12 |
{ product_code: 'BTC_JPY', timestamp: '2019-06-16T09:46:24.003', tick_id: 1560402, best_bid: 981170, //最低売り価格 best_ask: 982423, //最高買い価格 best_bid_size: 2.08, //最低売り価格の量 best_ask_size: 0.03139313, //最高買い価格の量 total_bid_depth: 1713.27091044, //売り注文総数 total_ask_depth: 1120.3717316, //買い注文総数 ltp: 982423, //最終取引価格 volume: 185705.94799283, volume_by_product: 9907.71321232 } |
このようにオブジェクトデータとして取り出すことができました。
現在の価格を表示させたい場合として、「ltp: 982423」のプロパティが良さげなのでこれを使って出力してみます。
requestの中身を変更します。
1 2 3 4 5 6 7 8 9 10 |
var request = require('request'); var path = '/v1/ticker'; var query = ''; var url = 'https://api.bitflyer.com' + path + query; request(url, function (err, response, payload) { const data = JSON.parse(payload) //dataオブジエクトのltpを取り出す console.log('現在の価格は' + data.ltp + '円です'); }); |
これでJSON形式データから現在価格の出力を表示するところまでできました。

あとは好きなキーだけ抜き取って好きに加工すれば色々なことができます。



APIで取得したビットコイン価格のJSON文字列を好みに整形 まとめ

JSONをオブジェクトへ変換することができればあとは好き勝手に編集していけます。
サイト制作で必要だったり、何かサービスを作りたい場合に必要なのでぜひ覚えておいてください。
bitFlyerAPIを使って売買を行う手順も載せています。bitFlyerからAPIで売買注文を入れる方法 【コピペ】を参考にしてみてください。
良かったらシェアしてね♪ /
専門用語を整理するにゃあ。「ltp」がキーで、その中身「982423」が値だにゃあ。
キーと値を合わせたものをプロパティと呼ぶにゃあ。