【发布时间】:2016-08-14 09:31:25
【问题描述】:
我对 scala 和函数式编程相当陌生。我有这段代码是由使用json4s 库构建json的人编写的,
val json = "body" -> ...toList.map {
case (title, attrs) =>
("name", tag) ~ ("attributes", attrs)
}
val finalJson = compact(render(json))
我看到这个就明白了,它构造了一个带有给定字段的 json。
如果attrs 有值,那么它会构造带有名称和属性的json 主体。
但是如果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。如果我误解了某些东西,有关如何解决此问题的任何想法以及可能的解释都会非常有帮助。
【问题讨论】:
标签: scala parser-combinators json4s