我有一个哈希值的数组:如何重建哈希在Ruby中
arr = [{"name1"=>{"users"=>"{\"root\":{\"Name\":\"root\",\"Home\":\"/root\",\"Status\":\"Active\"},\"bee\":{\"Name\":\"bee\",\"Home\":\"/bee\",\"Status\":\"Active\"}}"}},
{"name2"=>{"users"=>"{\"root\":{\"Name\":\"root\",\"Home\":\"/root\",\"Status\":\"Active\"},\"alo\":{\"Name\":\"alo\",\"Home\":\"/alo\",\"Status\":\"Active\"}}"}}]
的“用户”项的值是一个字符串,必须是JSON解析的,和根密钥也下一个值。
我想是这样的:
arr = ["name1"=>{"root"=>{"Name"=>"root", "Home"=>"root", "Status"=>"Active"}, "bee"=>{"Name"=>"bee", "Home"=>"bee", "Status"=>"Active"}},
"name2"=>{"root"=>{"Name"=>"root", "Home"=>"root", "Status"=>"Active"}, "alo"=>{"Name"=>"alo", "Home"=>"alo", "Status"=>"Active"}}]
到目前为止,我已经试过:
arr.each do |item|
item.each do |key, val|
h[key] = val.values
end
end
产生的哈希:
h = {{"name1"=>["{\"root\":{\"Name\":\"root\",\"Home\":\"/root\",\"Status\":\"Active\"},\"bee\":{\"Name\":\"bee\",\"Home\":\"/bee\",\"Status\":\"Active\"}}"], "name2"=>["{\"root\":{\"Name\":\"root\",\"Home\":\"/root\",\"Status\":\"Active\"},\"alo\":{\"Name\":\"alo\",\"Home\":\"/alo\",\"Status\":\"Active\"}}"]}}
如何重建这些散列来获得解析值并从每个散列中删除“用户”键?
你到目前为止尝试过什么? – yzalavin
到目前为止,我已经做了这样的事情: – mia102aim
到目前为止,我做了这样的事情: 'arr.each do | item | item.each do | key,val | VAL = val.values H [键] = VAL 端 end' 和我散列 'H = { “NAME1”=> [ “{\” 根\ “:{\” 名称\” :\ “根\”,\ “家庭\”:\ “/根\”,\ “状态\”:\ “活动\”} \ “蜂\”:{\ “名称\”:\“蜜蜂\ “,\”Home \“:\”/ bee \“,\”Status \“:\”Active \“}}”],“name2”=> [“{\”root \“:{\ “:\” 根\ “\ ”家庭\“:\ ”/根\“,\ ”状态\“:\ ”活动\“} \ ”ALO \“:{\ ”名称\“:\” ALO \“Home \”:\“/ alo \”,\“Status \”:\“Active \”}}“]}' – mia102aim