【Ruby on Rails 備忘録】JSON形式のデータから情報を取得する方法
公開日:
:
最終更新日:2017/01/04
Ruby on Rails JSON形式, Ruby on Rails, データ, 備忘録, 情報, 方法
JSON形式のデータから情報を取得する時、
いつも忘れるので、備忘録
飲食店の検索サービスからAPIで情報を取ってくると仮定
以下のように、
results という変数に以下のJSON形式のデータが格納されたとする
(パース後)
なお、パースのついては、このブログのコードを丸写しで大丈夫
まず、
「ぐるなび」のAPIで取得できる情報(抜粋)
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "rest": { "@attributes": { "order": "0" }, "id": "6304275", "name": "ホウムー ", "category": "喫茶店", "url": "http://r.gnavi.co.jp/gzwgkdxp0000/?ak=KbvIUR9H5nC0qCoxrTCFNLoEPU4BAiAgaj53Ytmj44A%3D", "url_mobile": "http://mobile.gnavi.co.jp/shop/6304275/?ak=KbvIUR9H5nC0qCoxrTCFNLoEP4A%3D" } } |
店の名前を取り出すには、
results[‘rest’][‘name’]
ジャンルは
results[‘rest’][‘category’]
PCのURLは
results[‘rest’][‘url’]
次に
HOT PEPPERのAPI で取得できる情報(抜粋)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
{ "results": { "results_start": 1, "results_returned": "2", "shop": [ { "id": "J001155175", "name": "肉屋の鉄板肉料理 いち", "genre": { "name": "お好み焼き・もんじゃ・鉄板焼き", "catch": "10/2日NEWオープン☆肉屋の本格鉄板料理!", }, "urls": { "mobile": "http://hpr.jp/strJ001155175/?uid=NULLGWDOCOMO&vos=hpp336", "pc": "https://www.hotpepper.jp/strJ001155175/?vos=nhppalsa000016" }, }, { "id": "J000026152", "name": "豆匠 広島本店", "genre": { "name": "和食", "catch": "とうふ料理と会席", }, "urls": { "mobile": "http://hpr.jp/strJ000026152/?uid=NULLGWDOCOMO&vos=hpp336", "pc": "https://www.hotpepper.jp/strJ000026152/?vos=nhppalsa000016" }, } ], "results_available": 8 } } |
この場合、
最初の店の名前を取り出すには、
results[‘results’][‘shop’][0][‘name’]
ジャンルは
results[‘results’][‘shop’][0][‘genre’][‘name’]
PCのURLは
results[‘results’][‘shop’][0][‘urls’][‘pc’]
この違い、わかります?
HOT PEPPERの場合、
”shop”:の次に [ ] で囲ってます。これは配列なんですね。
つまり、
[‘shop’][0]は、肉屋の鉄板料理 いち
[‘shop’][1]は、豆匠 広島本店
ということ。
そうそう、
JSONって現物は見づらいので、
JSON to CSV ってWEBサービスが便利です。
ではでは。
ad
- Tweet
-
-
この記事が気に入りましたら、ぜひTwitter、facebookボタンをお願いします。
ブログを書くモチベーションになります。よろしくお願いします。
ビットコイン投げ銭ウィジェット
関連記事
-
-
【Ruby on Rails 備忘録】Herokuを使って公開中のアプリを更新する
前回のブログ 【Ruby on Rails 備忘録】Herokuを使ってWEBに公開
-
-
【Ruby on Rails 備忘録】LINE Messaging API でチャットボットを作る
毎回悩むので自分用の備忘録として保存します。 なお、ほとんどが、こちらの方の記事を参考
-
-
【Ruby on Rails 備忘録】Herokuを使ってWEBに公開する
Ruby on Railsで作ったアプリケーションをHerokuでWEBに公開
-
-
【Ruby on Rails 備忘録】Errno::ECONNREFUSED: Connection refused – connect(2) for action mailer の解決方法
Ruby on Railsで WEBサービスを作成中。 コメントがあったら
-
-
【Ruby on Rails + LINE Messaging API 備忘録】 LINEボットに送った画像をAmazon S3に保存する
LINE botに投稿した画像をAmazon S3に保存する方法です。 papercli