我对scala和函数式编程很新。我有一段代码由一个用json4s库构建json的人编写,
val json = "body" -> ...toList.map {
case (title, attrs) =>
("name", tag) ~ ("attributes", attrs)
}
val finalJson = compact(render(json))
我看到这一切时就明白了,它构建了一个带有给定字段的json。
如果attrs
具有值,那么它构造带有名称和属性的json body。
但是如果attrs
为空,那么我将低于异常。
java.lang.NullPointerException:
at org.json4s.JsonDSL$class.map2jvalue(JsonDSL.scala:71)
at org.json4s.JsonDSL$.map2jvalue(JsonDSL.scala:61)
搜索了几篇帖子,无法掌握如何让它发挥作用。 我得到的最近的是this post
我想我必须使用None
和Option
。如果我误解了某些内容,任何关于如何解决这个问题以及可能解释的想法都会非常有用。
答案 0 :(得分:1)
您可以尝试使用getOrElse,如下所示:
byte[]