scala映射中的必填字段

时间:2016-09-07 12:41:57

标签: scala

我有一个jsonMAP:MAP [String,Any],我从地图中提取三个必填字段

{{1}}

如果Json没有要求的价值异常将被提出。在scala中有没有更好的方法来实现必要的字段提取?

预期:如果JSON中缺少某些字段,代码应该抛出异常。如果所有必填字段都可用,程序流程应转到下一步。

1 个答案:

答案 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")