将数组/散列转换为字符串并将该字符串转换回ruby中的数组/散列

时间:2016-06-03 11:24:10

标签: ruby-on-rails arrays ruby

我有这个数组可以说,

array = [{'key' => 0},1]

所以现在array[0]['key']的值为0。 当我将它转换为字符串时:

array.to_s

现在数组不是一个数组,它的字符串是这样的:

"[{'key' => 0},1]"

如果我现在array[0],则会输出[

我想将其转换回数组,以便我可以再次使用array[0]['key']

完整代码:

array = [{'key' => 0},1]
array = array.to_s
puts array[0]['key'] #Should output 0 but it does not output anything

问题是我已经在数据库中保存了类似的东西,所以现在我需要使用那些东西,所以唯一的方法是解析保存的字符串(实际上是一个数组)。

1 个答案:

答案 0 :(得分:3)

string = "[{'key' => 0},1]"
array = eval string
array[0]['key']  # => 0