37001


このコードを実行するとエラーになってしまします。助けてください

[code]

    require "net/http"
    require "uri"
    require "openssl"
    require "json"
    
    key = ほげほげ
    secret =ほげほげ
    
    timestamp = Time.now.to_i.to_s
    method = "GET"
    uri = URI.parse("https://api.bitflyer.jp")
    uri.path = "/v1/me/getpositions"
    uri.query = "product_code=FX_BTC_JPY"
    
    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)
    
    json = response.body
    getpositions = JSON.parse(json)
    puts getpositions["size"]
    
[/code]

エラーコード↓

[code]

    test04.rb:32:in []': no implicit conversion of String into Integer (TypeError)
    from test04.rb:32:in <main>'
    
[/code]

ちなみにjsonをする前のコードのレスポンスがこれです。これの`size`を取り出したいです。

[code]

    [{"product_code":"FX_BTC_JPY","side":"BUY","price":321400.000000000000,"size":0.001000000000,"commission":0.000000000000,"swap_point_accumulate":0.294105200000000000000000,"require_collateral":21.426666666666666666666666667,"open_date":"2017-08-04T15:22:29.113","leverage":15.000000000000,"pnl":59.565894800000000000000000}]
    
[/code]


CC BY-SA 3.0
2017-08-07T12:25:00.443
36999
2017-08-07T13:38:39.497
2017-08-07T12:28:47.267
13199
24756
question
ruby json api array
ruby言語でapiを使って特定のjsonの値を取得する


レスポンスを見てみると、配列の中にハッシュが入っている構造のデータです。  
`getpositions[0]['size']`  
もしくは  
`getpositions.first['size']`

などで取得しましょう。


CC BY-SA 3.0
2017-08-07T12:40:16.713
37001
2017-08-07T13:38:39.497
2017-08-07T13:38:39.497
9008
9008
36999
answer