当我尝试解析json对象时,我收到以下错误。
import net.liftweb.json._
object SarahEmailPluginConfigTest {
implicit val formats = DefaultFormats
case class Mailserver(url: String, username: String, password: String)
val json = parse("""{"url": "imap.yahoo.com", "username": "myusername", "password": "mypassword" }""")
def main(args: Array[String]) {
val m = json.extract[Mailserver]
println(m.url)
println(m.username)
println(m.password)
}
}
我添加了" lift-json_2.9.0-1-2.4.jar"到我的构建路径,我得到以下错误:
无法找到参数格式的隐含值:net.liftweb.json.Formats
方法提取的参数不足:(隐式格式:net.liftweb.json.Formats,隐式mf:scala.reflect.Manifest [MailServer])MailServer。未指定的值参数格式,mf
答案 0 :(得分:0)
您的示例适用于scala 2.11.7
和lift-json-2.6.2
。您使用的是什么版本的scala?从您上面提到的jar
的名称开始,您应该使用scala 2.9.*
,这是非常古老的。如果您不使用scala 2.9.*
,我想这是因为Scala版本之间的二进制不兼容。如果您使用的是sbt
,请尝试以下build.sbt
:
name := "<name of your project>"
scalaVersion := "2.11.7"
libraryDependencies += "net.liftweb" %% "lift-json" % "2.6.2"
然后,您可以删除旧的jar
文件,因为sbt
会为您处理此问题。