这是我所面对的哈希(尽管原来我发送的部分指向一个数组):
{"sections" => {
"0" => {},
"1" => {}
}}
应该是
{"sections" => [
{},
{}
]}
理想情况下,我想扩展Hash类......但是我的大脑现在已经变成了一团糟。
感谢。
这是我目前的进展:
def un_json
self.each do |k, v|
if v.is_a?(Hash) and k.is_a?(Number)
# iterate over k's objects, then remove k from self
end
end
end
答案 0 :(得分:2)
使用ruby标准库json。
require 'json'
j = '{"sections": {
"0": {},
"1": {}
}}'
p JSON.parse(j)
# {"sections"=>{"0"=>{}, "1"=>{}}}
答案 1 :(得分:1)
array = []
hash['sections'].each do |i,val|
array[i.to_i] = val
end
hash['sections'] = array
答案 2 :(得分:0)
这是一种快速而又肮脏的方式:
h = {"sections" => {
"0" => {},
"1" => {}
}}
result={}
h.each do |k,v|
result[k]=v.values
end
result.to_json
返回:
"{\"sections\":[{},{}]}"