如何才能在此数组中获取名称的值?

时间:2017-10-12 07:49:39

标签: ruby-on-rails

当我这样做时,这是输出数组

result = JSON.parse(response.body)
result.values.each {|element|
puts element
}

结果:

{"id"=>3, "code"=>"3", "name"=>"Market", "status"=>"A", "refcode"=>"001"}
{"id"=>4, "code"=>"4", "name"=>"Mall", "status"=>"A", "refcode"=>"002"}

从这个数组中,我只想得到名称值。我试过这个 把结果['数据'] [0] ['名称']并且它工作正常,但我想得到数组中的所有名称

这是我的预期输出

Market
Mall

2 个答案:

答案 0 :(得分:3)

尝试使用Array#map并覆盖每个元素,以访问它的'name'键,例如:

p array.map { |element| element['name'] }
# ["Market", "Mall"]

我认为它类似于:

result = JSON.parse(response.body) 
result.values.map { |element| element['name'] }
# ["Market", "Mall"]

由于eachputs只是在数组中迭代并打印哈希值,因此您可以从result.values访问“名称”键。

答案 1 :(得分:1)

我不会修改太多。由于您的name元素位于第3位,因此您可以像使用values.each

一样访问它
result = JSON.parse(response.body)
result.values.each {|element|
puts element[2]
}