2011-08-11 10 views
0

현재 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

JSON 또는 YAML 등으로 직렬화하십시오.

관련 문제