2012-05-09 8 views
3

私はRuby上で新しく、私はコードブロックとfaimilarではありません... どのようにjson形式のテキストですべてのキー要素を取得できますか?テキストからRuby:どのようにjson形式からすべてのキー要素を取得できますか?

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

、それはフォーマットのようなJSONの文字列であり、 どのようにアレイ

所望の出力に名前のみ値と入力を抽出することができる==> [車、バス、タクシーあなたが最初にJSONデータを解析する必要がある]

答えて

10

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 
+0

THXを、場合アイテムの1つに["名前"]が含まれていない場合、どのようにそれを守ることができますか? –

関連する問題