JSON.parse で uninitialized constant JSON というエラーが出る
bitFlyerのAPIで、ある値の情報を抜き取りたいです。
APIのgetchildorders
の中にあるchild_order_state
の値を取り出して、COMPLETED
の場合はyes
と表示させたいのですが、エラーになってします。宜しくお願い致します。
エラーコード
25:in `': uninitialized constant JSON (NameError)
サンプルコード
require "net/http"
require "uri"
require "openssl"
key = "ほげほげ"
secret = "ほげほげ"
timestamp = Time.now.to_i.to_s
method = "GET"
uri = URI.parse("https://api.bitflyer.jp")
uri.path = "/v1/me/getchildorders"
uri.query = "product_code=FX_BTC_JPY&count=after&after=ほげほげ"
text = timestamp + method + uri.request_uri
sign = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new("sha256"), secret, text)
options = Net::HTTP::Get.new(uri.request_uri, initheader = {
"ACCESS-KEY" => key,
"ACCESS-TIMESTAMP" => timestamp,
"ACCESS-SIGN" => sign,
});
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
response = https.request(options)
puts response.body
json = Net::HTTP.get(uri)
getchildorders = JSON.parse(json)
puts getchildorders["child_order_state"]
getchildorders["child_order_state"] = COMPLETED
puts yes