"[\"1\", \"2\"]"
みたいなデータを[1, 2]
みたいな普通の配列のデータにしたいときに自分用のメモとして書きたいと思います。
json = '[\"1\", \"2\"]'
array = JSON.parse(json) #=> ["1", "2"]
すると、array
は
array #=> ["1", "2"]
みたいなデータになります。これをmap
を使えば、[1, 2]
というデータに変換できます。
array.map{|id| id.to_i} #=> [1, 2]
これをまとめて1行で書くと下記みたいになりますね。
JSON.parse(json).map{|id| id.to_i} #=> [1, 2]
追記
下記のコメントで初めて知ったのですが、map
のところでもっと簡単にかけます。
JSON.parse(json).map(&:to_i) #=> [1, 2]
ちなみに、ブロックの代わりに &:メソッド名 という引数を渡せる条件は、
・ブロック引数が1個である
・ブロックの中で呼び出すメソッドには引数がない
・ブロックの中では、ブロック引数に対してメソッドを1回呼び出す以外の処理がない
です。