2017-04-05 67 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]