我有一个jsonMAP:MAP [String,Any],我从地图中提取三个必填字段
{{1}}
如果Json没有要求的价值异常将被提出。在scala中有没有更好的方法来实现必要的字段提取?
预期:如果JSON中缺少某些字段,代码应该抛出异常。如果所有必填字段都可用,程序流程应转到下一步。
答案 0 :(得分:0)
将地图提升为部分功能,其中缺失的键映射到None
,并将定义的键映射到Some(value)
;例如,
scala> val m = Map("id" -> 1, "loc" -> 2)
m: scala.collection.immutable.Map[String,Int] = Map(id -> 1, loc -> 2)
scala> m.lift("id")
res0: Option[Int] = Some(1)
scala> m.lift("missing")
res1: Option[Int] = None
注意提升一次,即。 val mL = m.lift
,查询很多,例如mL("id")