我有以下哈希字符串:
arr = ["{:id=>1, :name=>\"a\"}", "{:id=>2, :name=>\"b\"}"]
如何解析数据并获取如下数组中的所有id键:[1,2]
感谢。
答案 0 :(得分:2)
看起来像需要评估的Ruby哈希,所以在地图中使用eval:
arr.map{|hash| eval(hash)[:id]}
答案 1 :(得分:2)
由于这个字符串数组似乎不是完全有效的JSON,您可以通过执行以下操作来解析ID:
isNaN
希望这有帮助!
答案 2 :(得分:-1)
这是一个JSON字符串数组。您可以使用JSON.parse来解析它们
arr = ["{:id=>1, :name=>\"a\"}", "{:id=>2, :name=>\"b\"}"]
ids = arr.map do |raw| # iterate on each string
JSON.parse(raw)[:id] # parse and extract the id
end
puts ids # => [1,2]