我在github上具有以下scala项目。在该仓库中,我有一个类Configurator
,其作业是将JSON文件的内容读取到字符串中,然后使用Lift JSON库将字符串验证为AppConfig
的实例:
import scala.io.Source
import net.liftweb.json._
class Configurator {
def loadConfigs(configFileUri : String) : AppConfig = {
implicit val formats = net.liftweb.json.DefaultFormats
parse(Source.fromFile(configFileUri).mkString).extract[AppConfig]
}
}
如果您克隆此,然后运行./gradlew run
,您将获得以下例外:
/Users/myuser/intellij-scala-gradle-example/shared/src/main/scala/com/me/myapp/Configurator.scala:9: could not find implicit value for parameter formats: net.liftweb.json.Formats
parse(Source.fromFile(configFileUri).mkString).extract[AppConfig]
如果您在Google Google上使用该异常,您会看到我在此处实施的implicit
格式修复程序的10,000个建议。但这对我不起作用。所以我想知道:
- 我为什么看到这个例外?
- 修复程序是什么?
从升力json切换到gson,我的所有问题都消失了。