Facebookから返されたjsonを解析しようとしています。今の私の考えは、Facebookのjsonからできるだけ多くの詳細を取得することです。だから私は次のように使用します(認証がFacebookからの解析jsonであると仮定します)
education_array = auth['extra']['user_hash']['education']
education_array.each do |edu|
puts edu['school']['name']
puts edu['type']
puts edu['year']['name']
end
ここでの問題は、一部の人が学校名を追加したが、年は追加していない可能性があることです。明らかに
edu ['year'] ['name']は、「nilの評価中にエラーが発生しました。[]」というエラーをスローします。
これを回避するにはどうすればよいですか?
私が思った一つの方法は、edu ['year'] ['name'] || ""
ただし、「年」自体が存在しない場合でも、これはエラーをスローします。(「name」が見つからない場合のエラーを回避します)
次の解決策は必要ありません:auth ['extra']が存在するかどうかを確認し、次にauth ['extra'] ['user_hash']が存在するかどうかを確認し、次にauth ['extra']['user_hash']['educationかどうかを確認します']が存在し、auth ['extra'] ['user_hash'] ['education']['year']['name']などかどうかを確認します。
例外処理を使用するのは良い方法ではないと思います。
何か良い方法はありますか?
ありがとうございました