LoginSignup
3
0

More than 3 years have passed since last update.

JSON型のデータを普通の配列のデータに変えたいとき

Last updated at Posted at 2017-09-12

"[\"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回呼び出す以外の処理がない

です。

3
0
2

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
  3. You can use dark theme
What you can do with signing up
3
0