2011-08-11 21 views
0

現在、文字列表現を使用して配列をMySQL TEXT列に格納しています。これは、データを取得しているときに構築しているアプリケーションでうまく動作します。問題は、私はある時点でこの文字列を変換する必要があり、String#to_aを使用すると、1つの要素配列の文字列として配列が詰まるだけです。ここに例があります:ruby​​配列を文字列に変換する(逆の場合)

: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]]"] 

このついて行くの正しい方法は何ですか?

NOTE

私はevalを使用する必要はありません。この場合、私は必要なものを正確に行いますが、この配列がユーザーによって提供されるため、入力を信頼できません。

答えて

1

JSONまたはYAMLなどでシリアル化してください。

関連する問題