在 rails 中将字符串转换为数组

Convert string into Array in rails

我从 rest 客户端发送一个数组并像这样接收它:"[1,2,3,4,5]"

现在我只想把它转换成Array,而不用Ruby的eval方法。我们可以为此使用任何 Ruby 的默认方法吗?

 "[1,2,3,4,5]" => [1,2,3,4,5]

也许是这个?

   s.tr('[]', '').split(',').map(&:to_i)

如果你想避免eval,另一种方式:

"[1,2,3,4,5]".scan(/\d+/).map(&:to_i) #assuming you have integer Array as String
#=> [1, 2, 3, 4, 5]
require 'json'

JSON.parse "[1,2,3,4,5]"
  #=> [1, 2, 3, 4, 5] 

JSON.parse "[[1,2],3,4]"
  #=> [[1, 2], 3, 4]