2017-04-05 48 views
0
final case class Stuff(metadata: Option[String]) { 
val metadataJson: JObject = parse(metadata.getOrElse("{}")).asInstanceOf[JObject] 
} 

这将引发类型不匹配错误Json4s串解析

发现在铸造过程的错误:所需的对象

:JsonInput

但由于metadata.getOrElse它不应该发生..应该是String类型这是铸造到JsonInput

回答

0

Sooo事实证明,getorelse混淆与隐式类型转换,因为它可以在技术上返回任何类型>:String

简单的解决方法就是指定类型

parse(metadata.getOrElse[String]("{}")).asInstanceOf[JObject]