rubyのJSON.parseでhashキーをsymbolにしてもらう方法
Ruby JSON parse changes Hash keys
- ruby 1.9.3p393
- json (1.8.0)
$ pry [1] pry(main)> require 'json' => true # hashをjsonへ変換 [2] pry(main)> json = {:key_a => "value2", :key_b => "value3"}.to_json => "{\"key_a\":\"value2\",\"key_b\":\"value3\"}" # 普通にparseしてもらうと keyはString [3] pry(main)> p JSON.parse(json) {"key_a"=>"value2", "key_b"=>"value3"} => {"key_a"=>"value2", "key_b"=>"value3"} # optionを指定すると、keyをSymbolにしてくれる [4] pry(main)> p JSON.parse(json, {:symbolize_names => true}) {:key_a=>"value2", :key_b=>"value3"} => {:key_a=>"value2", :key_b=>"value3"}