LoginSignup
8

More than 1 year has passed since last update.

Rails | ハッシュのキーを全てシンボルから文字列に変える ( stringify_keys / deep_stringify_keys )

Last updated at Posted at 2016-05-02

表題のとおり。

{ a: 1, b: 2, c: 3 }.stringify_keys

# => {"a"=>1, "b"=>2, "c"=>3}

ハッシュの階層が深い時

deep_stringify_keys なら、階層を問わず、ぜんぶシンボルに変えてくれる。( Rails4 )

{ a: 1, b: 2, c: { d: 3 } }.deep_stringify_keys

# => {"a"=>1, "b"=>2, "c"=>{"d"=>3}}

すごいぞ deep_stringify_keys

deep_stringify_keys なら、たとえば途中に配列があっても気にしない。

{ a:1, b: 2, c: [ { d: [ { e:3 } ] } ] }.deep_stringify_keys

# => {"a"=>1, "b"=>2, "c"=>[{"d"=>[{"e"=>3}]}]}

補足

  • 破壊的メソッドもある。 ( stringify_keys! / deep_stringify_keys! )
  • stringfy ではなく stringify 。タイポに注意。
  • 「Rails / すべて / シンボル / 文字列に」でググってもヒットしなかったので投稿。

環境

  • Rails 4.2.6

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

メンター受付

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
8