4

私はRubyが初めてで、コードブロックに慣れていません... json形式のテキストですべての重要な要素を取得するにはどうすればよいですか?

text= "[{ "name" : "car", "status": "good"},
{ "name" : "bus", "status": "bad"},{ "name" : "taxi", "status": "soso"}]"

テキストから、それはjsonのような形式の文字列です。名前の値のみを抽出して配列に入力するにはどうすればよいですか

望ましい出力 ==> [車、バス、タクシー]

4

1 に答える 1

13

最初に JSON データを解析する必要があります。

require('json')

text = '[{ "name" : "car", "status": "good"}, { "name" : "bus", "status": "bad"},{ "name" : "taxi", "status": "soso"}]'
data = JSON.parse(text)

次に、アイテムを簡単に収集できます。

p data.collect { |item| item['name'] }

すべてのアイテムに名前がなく、代わりにデフォルト値が必要な場合:

p data.collect { |item| item.fetch('name', 'default value') }

それらをスキップしたい場合:

p data.collect { |item| item['name'] }.compact
于 2012-05-09T07:59:25.880 に答える