我有一个像这样的大哈希:
{"id"=>"1",
"contact_id"=>"15062422",
"status"=>"Complete",
"[question(12), option(24), piped_page(32]" => "Yes",
"[question(13), option(32)]" => "Robert",
"[question(14)]" => "Thing"}
我需要解析以 '[' 开头的键来分隔名称(值)对。每个键中的名称(即问题、选项等)的数量是可变的,但存在已知数量的可能性。
我想将每一对转换成一个新的,如下所示:
{:question => 12, :option => 24, :piped_page => 32, :value => "Yes"}
我曾考虑在每个散列元素上使用 .to_s,然后在 eval 之后进行各种字符串替换,但是 .to_s 转义了双引号,这确实使事情变得复杂。
有任何想法吗?