【发布时间】:2014-10-10 21:51:05
【问题描述】:
我有一个看起来像这样的响应字符串:
"[{\"id\":\"blahbla23sdlkjrwer2345\",\"name\":\"bar\"},{\"id\":\"aselrjdsfsomething\",\"name\":\"foo\"}]"
然后我用JSON.parse(response_above):
json_parse = JSON.parse(response_above)
=>[{"id"=>"blahbla23sdlkjrwer2345", "name"=>"bar"},
{"id"=>"aselrjdsfsomething", "name"=>"foo"}]
从这里我只想要名称并将它们放入一个数组中。我想出了如何获取名称,但不知道如何将其构建到新数组中。
要获得“foo”或“bar”,我可以这样做:
json_parse[0].fetch("name")
=> "bar"
json_parse[1].fetch("name")
=> "foo"
我不知道如何遍历数组以从 JSON 响应构建一个新数组,例如:
new_array = ["foo", "bar"]
JSON 响应可以是动态的,有时我可能只有 2 个元素,有时我可以有 10 个元素。我无法硬编码一个值。我需要找到一种方法来遍历该数组,以获取每个值的“名称”键。
【问题讨论】:
-
我的回答有帮助吗?
标签: ruby-on-rails ruby arrays json