ruby获取hash redis的一部分

时间:2014-10-14 11:35:09

标签: ruby json

我将这种类型的哈希存储在变量foo

{:name=>"bobby", :data=>[[1, 2], [3, 4], [5, 6], [7, 8]]}

当我尝试foo[:data]时,我得到no implicit conversion of Symbol into Integer

如何获得二维阵列?

修改

这是整个代码:

redis = Redis.new
  redis.set "foo", {name: "bobby", :data => [
    [1,2],[3,4],[5,6],[7,8]
  ]}
  foo = redis.get "foo"
  puts foo[:data][0]

1 个答案:

答案 0 :(得分:1)

redis.get返回一个字符串,而不是哈希值。此字符串是哈希的JSON表示。尝试:

require 'json'
foo = JSON.parse(redis.get "foo")
puts foo['data']