私はScala/Liftを初めて使用し、次の問題に遭遇しました。
class Tests {
case class JTest(
thisUrl:String,
id:Int,
desc:String,
results:String,
isEnabled:Boolean,
attackerAppliance:String,
victimAppliance:String,
lastModified:String)
def displayTest(in: NodeSeq): NodeSeq = {
implicit val formats = DefaultFormats.withHints(
ShortTypeHints(List(classOf[JTest])))
val content = fromInputStream( url.openStream ).getLines.mkString("\n")
val json = parse(content)
val test = json.extract[JTest]
Helpers.bind("test", in,
AttrBindParam("thisUrl", test.thisUrl, "href"),
"id" -> test.id,
"desc" -> test.desc,
"results" -> test.results,
"isEnabled" -> test.isEnabled,
"attackerAppliance" -> test.attackerAppliance,
"victimAppliance" -> test.victimAppliance,
"lastModified" -> test.lastModified)
}
}
次のエラーメッセージが表示されます。
Message: net.liftweb.json.MappingException: Do not know how to deserialize 'JTest'
サンプルJSON:
{"jsonClass":"JTest","thisUrl":"/api/test/1","id":1,"desc":"Vulnerability in Server Service","results":"/api/test/1/results","isEnabled":true,"attackerAppliance":"/api/appliance/2","victimAppliance":"/api/appliance/6","lastModified":"2012-08-08 11:46:29.004"}
私はいくつかのことを試みましたが、それは私がここで立ち往生した継ぎ目です。誰かが私を正しい方向に向けることができますか?ところで。私はscala2.7.7を使用しています!
乾杯、エンツォ