【Ruby入門】JSONの基本と操作
  • facebookページ
  • twitterページ
  • 2017.11.02

    【Ruby入門】JSONの基本と操作

    今回はJSONを解説します。

    JSONとは、JavaScript Object Notationの略で、・・・と解説し始めるとどんどん複雑になります。

    解説は以降の章に任せるとして、ここではそういったデータ形式があるとだけお伝えしておきます。

    一体何に使うのかと思った方も多いでしょうが、これが以外と大事なんですよ。

    JSONとは何か?

    JSONとは何かを平たくいうと、名前からも分かるとおりJavaScriptと仲良しのデータ形式とでも覚えればだいじょうぶでしょう。

    さらにデータ形式って何?といいますと、要はデータの表現方式とでも思ってください。

    JSON以外に、XMLもデータ形式の1つといえば分かりやすいでしょうか。

    まずは実際に見てください。

    生徒太郎さんと生徒花子さんの、それぞれの属性(つまり生徒番号やテストの点数)をJSONで表現しました。

    XMLとのちがい

    仮にこのJSONをXMLで表現するとこうなります。

    XMLを見れば、何となくJSONの特徴が分かってきたのではないでしょうか?

    XMLと比較して閉じタグが不要なのにもお気づきでしょう。JSONの方がかなり楽に書けますね。

    結局何に使うのか(WebAPI)

    JavaScriptとの親和性を生かし、さまざまな箇所で活用できます。

    特に重要なのがWebAPIとのデータ交換でよく使われることです。

    イマドキのWebAPIでは、受信するデータの形式はXMLやJSON、HTMLから選べます。

    実際にWebAPIからJSONでデータを取得してみましょう。

    京都市オープンデータポータルサイトには、各種データのリクエストURLがあります。

    この参考例のURLをそのまま使います。

    https://data.city.kyoto.lg.jp/API/action/datastore/search.json?resource_id=f14b57c2-48dd-4aa7-b754-a4f4ac340f2d&limit=20&offset=5&fields=name,address

    このアドレスを、ブラウザのURL欄にそのまま貼り付けてください。以下のような長い文字列が表示されるはずです。

    めまいがしそうな長い文字列が表示されました。

    人間への可読性を残したといわれているJSONデータですが、これではさすがに読めません。

    そんな場合は、JSONを整形してくれるサイトがありますので活用しましょう。その名もJSON整形です。

    先ほどの長い文字列をすべてコピーし、JSON整形を開き四角の枠に貼り付けて、「整形」ボタンをクリックしてください。

    [実行結果]

    非常に見やすい形式に整形されました。

    上部の複雑な部分はさておいて、records:以降を見てください。何となくイメージがつきませんか?

    JSONの活用方法

    結局何に使うのかなのですが、繰り返しになりますがJavaScriptとの親和性が高いことを活用します。

    WebAPIから取得したJSONは、JavaScriptを使って簡単にHTML上に展開できます。ということは、毎回ページを開くたびにWebAPIから取得した新鮮なデータを、自分のページに展開できる、ということです。

    今回は地味なデータをご紹介しましたが、これが株価やAmazon、楽天の購買データといったタイムリー性が求められるデータであれば、活用方法は無限です。

    JSONの読み込み

    本来であれば実際にWebAPIからデータを取得して・・・といきたいところですが、あまり派手な内容はJSONの解説としては不向きなので、前述した簡単な成績表を例に使いましょう。

    WebAPIではなく、テキストファイルからのデータ読み込みをやってみましょう。

    [再掲:成績表]

    これを、成績表.jsonとして保存したのち、以下を実行します。

    [実行結果]

    JSONの内容が、ハッシュとして取得できました。

    JSONの書き出し

    今度は逆に、JSON形式でファイルに書き出してみましょう。

    [実行結果(成績表2.jsonの中身)]

    JSON形式で書き出すことができました。

    まとめ

    今回は、JSONとは何かという点に重点を置いたので、解説は少なめになりました。

    みなさんの作るWebサイトに、WebAPIから取得した何らかのデータをあつかうときなど、JSONは避けて通れないものです。

    本記事の内容はとても基礎的なことですので、ぜひマスターしておいてくださいね!


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテキャンバナー ポテキャリバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア

    関連ワード

    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE