Estoy intentando serializar y deserializar un hash. Cuando el hash es deserailizado, las claves son des-simbolizadas; p.ej. no más: uno, más bien "uno".ActiveSupport :: JSON decodificar hash símbolos perdedores
Desde la consola rieles:
>>h = { :one =>1, :two => "two"}
{:one=>1, :two=>"two"}
>>j = ActiveSupport::JSON.encode(h)
"{\"one\":1,\"two\":\"two\"}"
>>h2 = ActiveSupport::JSON.decode(j)
{"one"=>1, "two"=>"two"}
>>h2[:one]
nil
>>h[:one]
1
he cambiado a usar Marshal.dump/carga por ahora. Sin embargo, quería lanzar esto para ver si había una manera de mantener esto en JSON (solo por legibilidad).
Nota: esto no simboliza las teclas recursivamente. – TelegramSam
Tampoco funciona para una matriz que contiene objetos JSON, es decir '[{'id': 1}, {'id': '2'}, ...]'. La solución de Tim Cull funciona sin embargo. – laffuste