我有来自网址的http响应:
response = Net::HTTP.get(uri)
=> "[1,2,3,4,5]"
响应是一个字符串,但我想将其转换为类似
的数组=> [1,2,3,4,5]
所以我现在正在这样做:
response = response.split('[').join.split(']').join.split(',').map{|n| n.to_i}
我觉得这不是礼仪方式,有没有更好的方法来做到这一点。提前致谢。
答案 0 :(得分:4)
对我来说,它看起来像是json字符串。您可以使用JSON#parse
来解析它:
require 'json'
JSON.parse "[1,2,3,4,5]"
# => [1, 2, 3, 4, 5]
答案 1 :(得分:2)
您可以使用JSON.parse(response)
答案 2 :(得分:2)
如果您不想将其解析为json,可以使用一点正则表达式。
"[1,2,3,4,5]".scan(/\d+/).map(&:to_i)