私はJSONをMap [String、Any]に解析しました.In JSON私はhasHeaderオプションフィールドを持っています。getOrElseをスカラーのMapで比較して値を比較する方法
{
hasHeader : "Y" (optional member)
}
私はhadHeaderはオプションであるため、getOrElseを使用しても安全ですが、どのように私はgetOrElseを使用して、Scalaで「Y」との値を比較します
If(jsonMap.get("hasHeader") <=> "Y")
doSome()
else
Nothing
を確認したいです。私は考えることができる
一つの方法は次のとおりです。
if(!jsonMap.get("hasHeader").isEmpty) {
val hasHeaderVal = jsonMap.get("hasHeader")
if(hasHeaderVal.equals("Y")){
doSomething()
}
}
は、これを行うのいずれかのより良い方法はありますか?
jsonMap.get("hasHeader").map(_ == "Y").getOrElse(false)
方法Option
のための.map
作品は、値がSome
(そうNone
がちょうど通過する)である場合にのみ与えられた関数を適用することである: