文字列を配列に入ったハッシュに変換

文字列を配列に入ったハッシュにしたい状況がありました。

具体的には以下のような変換をしたいと思っておりました。

 

 

"[{{day: '2019/12/22', value: '5000'},{{day: '2019/12/22', value: '5000'}]"

=>

[{:day=>"2019/12/22", :value=>"5000"}, {:day=>"2019/12/22", :value=>"5000"}]

 

 

 

split(',')としてもハッシュの途中で区切られてしまうしどうしようかと思ってした時、instance_evalで解決できると知りました!!

 

instance_eval("[{day: '2019/12/22', value: '5000'},{day: '2019

12/22', value: '5000'}]")

=> [{:day=>"2019/12/22", :value=>"5000"}, {:day=>"2019/12/22", :value=>"5000"}]

 

 

感想その他

instance_evalを仕事のコードで使うのはよくないし、本来の使い方なのかは謎ですが、instance_eval使う機会が訪れて嬉しかったです!