Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby-从JSON字符串中获取特定键的所有值_Ruby_Json - Fatal编程技术网

ruby-从JSON字符串中获取特定键的所有值

ruby-从JSON字符串中获取特定键的所有值,ruby,json,Ruby,Json,这是非常直接的,我肯定,但我现在感觉脑死亡,无法理解这一点 我有这个JSON响应,只想获取键“price”的所有值,并将它们全部转储到一个数组中,这样我就可以得到它们的平均值 { "status": "success", "data": { "network": "DOGE", "prices": [ { "price": "0.00028055", "price_base": "USD", "exchange"

这是非常直接的,我肯定,但我现在感觉脑死亡,无法理解这一点

我有这个JSON响应,只想获取键“price”的所有值,并将它们全部转储到一个数组中,这样我就可以得到它们的平均值

{
  "status": "success",
  "data": {
    "network": "DOGE",
    "prices": [
      {
        "price": "0.00028055",
        "price_base": "USD",
        "exchange": "bter",
        "time": 1407184167
      },
      {
        "price": "0.00022007",
        "price_base": "USD",
        "exchange": "cryptsy",
        "time": 1407184159
      }
    ]
  }
}
这是我迄今为止的代码:

data = ActiveSupport::JSON.decode(response)
        status = data["status"]
        if status == "success"
          total = ......what do i need to do here?...
       end
提前谢谢 :)

除非你产生一个散列,而不是一个数字。所以你钻进去

由于这些值是字符串,所以必须将它们转换为浮点数才能进行计算

total = data["data"]["prices"].reduce(0.0) do |sum, hash|
  sum + hash["price"].to_f
end
出于好奇,你是怎么被困住的?你的理解中有什么逻辑上的差距阻止你找到解决方案