将ruby数组转换为字符串,反之亦然

时间:2011-08-11 22:36:27

标签: ruby

我目前正在使用MySQL TEXT列中的字符串表示存储数组。这适用于我正在检索数据时构建的应用程序。问题是,我需要在某个时刻转换此字符串,并使用String#to_a将数组填充为一个元素数组中的字符串。这是一个例子:

:026 > my_arr = [["foo", 1], ["bar", 2]]
 => [["foo", 1], ["bar", 2]] 
:027 > my_str = my_arr.inspect
 => "[[\"foo\", 1], [\"bar\", 2]]" 

到目前为止一切顺利。

然而,由于显而易见的原因,转换不起作用:

:029 > my_str.to_a
 => ["[[\"foo\", 1], [\"bar\", 2]]"]

正确的方法是什么?

注意

我不想使用eval。它完全符合我在这种情况下的需要,但我不能相信输入,因为这个数组是由用户提供的。

1 个答案:

答案 0 :(得分:1)

将其序列化为JSON或YAML等。