9
3

More than 3 years have passed since last update.

【Ruby】HTTPリクエストでJSONが返る外部APIを使う

Posted at

やりたいこと

HTTPリクエストをしてJSONが返る外部APIをRubyで使いたい。
JSONからRubyで使えるハッシュを取得したい。

 結論

#各種ライブラリを読み込む
require 'net/http'
require 'json'
require 'uri'

#uriライブラリ>URIモジュール
#該当するインスタンスを生成して返す
uri = URI.parse('http://hoge.com')
# => #<URI::HTTP http://hoge.com>

#net/httpライブラリ>Net::HTTPクラス
#URL先にGETリクエストを送り、そのボディを"文字列"として返す。
json = Net::HTTP.get(uri)

#josonライブラリ>JSONモジュール
#取得したJSON形式の文字列を、Rubyオブジェクトに変換して返す
JSON.parse(json)

以上で、URLにGETリクエストを送り、JSON形式のデータをRubyで使えるハッシュを取得できる。

公式リファレンス

URIモジュール
Net::HTTPクラス
JSONモジュール

JSONとは

JavaScript Object Notation(JSON、ジェイソン)はデータ記述言語の1つである。軽量なテキストベースのデータ交換用フォーマットでありプログラミング言語を問わず利用できる[1]。名称と構文はJavaScriptにおけるオブジェクトの表記法に由来する。
https://ja.wikipedia.org/wiki/JavaScript_Object_Notation

JavaScript だけではなく、Java, PHP, Ruby, Python など、様々な言語間のデータ交換、特に Ajax や REST API などで使用されています。
これまでは、共通データ定義言語として XML が利用されてきましたが、現在では、簡易的な JSON が利用されるケースが増えてきています。
http://www.tohoho-web.com/ex/json.html

異なる言語間でデータをやり取りするための記述形式で、記法はJavaScriptに由来する。
以前は、データをやり取りする時はXMLが使われおり、今はJSONが主流となっている。

JSONのルール

キーと値にコロンがつく。
文字列は""ダブルクォーテーションで囲む。
{ "hoge": "fuga" }

シングルクォーテーションは使用できない。
{ 'hoge': 'fuga' }

カンマを使うことで、複数のキーと値を指定することができる
{ "hoge": "fuga", "foo": 123 }

配列や値のみでもOK!
["hoge","fuga"]
"hoge"
123

まとめ

APIからJSONを取得し、Rubyで使うやり方とJSONについて、簡単にまとめました。

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3