VSジェイソン
おひさしぶりです、おっさんSEぴんくです。
タイトルについては後ほど説明するとして、近況報告です。
ここしばらく友人のマーンさんの依頼で前回作成したサイトの
仕様追加を行っていました。
決して出張先で飲み歩きして、ブログ更新をサボっていたわけではないのです。
ちゃんとお仕事してました!!
今回はなんとサイト表示時にリアルタイムの仮想通貨の金額が表示される!!
という斬新な仕様変更です。
まあ、正直なところ私が凄いんじゃなくリアルタイムの情報を提供してくれる方々が
素晴らしいのですが...
まずはこちらが成果物です。
でタイトルのジェイソンの話ですが、
あの有名なホラー映画のジェイソン(懐かしいなぁ...)ではありません。
自分非力なんであんなチェーンソーを人に向けて振り回すような相手とは戦えませんw
ちなみにホラー映画で私のイチオシは「パラノーマルアクティビティ」です。
ジェイソンは出てきませんが、めっちゃ怖いです。
さて、少々脱線しましたが、
私が今回戦ったのはJSON(JavaScript Object Notationの略)です。
簡単に説明するとプログラムで使用するデータの入れ物の一つですw
(※注、あくまでも私の独自解釈です。正しくは表記方法の一つとかなんとか)
詳しく知りたい人は先人様が説明しているサイトが有ったのでこちらを見てください。
より具体的には実データを見てもらった方が分かりやすいと思います。
下のURLにアクセスするとcoinmarketcapというサイトが提供しているリアルタイムの
仮想通貨の値段を格納しているJSONデータが見れます。
https://api.coinmarketcap.com/v1/ticker/
とまあ、こんな感じにデータが格納されているのです。
(株とか為替とか競馬とか天気とかのデータも公開されているので
興味のある方はグーグル先生に「〇〇 JSON」って尋ねてみて下さい)
で、仮想通貨の現在の価値を取得してサイトに表示する的な改造を行ったのですが、
結論から言うとJSONは強敵でした。
数時間の格闘の末、今では強敵と書いて友と呼べるに至りました。
格闘時に苦戦した点は2点。
もしこれから戦う人がいれば以下2点は要注意です。
・「[」「{」は意味が違う。
「[」は配列扱いなのです。
詳しく書いてもプログラミングしない人には分からないと思いますので
物凄く端折って書きますが、
{"aaa":"1","bbb":"2"}というJSONデータからaaaの値を取得する時は〇〇.aaa
[{"aaa":"1","bbb":"2"}]というJSONデータからaaaの値を取得する時は〇〇[0].aaa
となるのです。
・取得する際にタイムラグが発生する場合がある。
JSONからのデータ取得処理と取得した値を使用する計算処理を記述すると
記述によってはデータ取得処理より先に計算処理が発生し、
計算結果が正しく出なかったりします。
※これに私はドはまりしました。
とまあ、こんな感じでジェイソンさんと戦った末に今回の作業はフィニッシュです♪