2013-05-30 11 views
10

Scalaのコードで、 `ProvinceJson`クラスにJSONを解析できません:私はこのコードを実行するとはリフトjsonの

import net.liftweb.json._ 

case class Province(id: String, name: String, parentName: Option[String], parentId: Option[String]) 

case class ProvinceJson(provinceData: List[Province]) 

object Test extends Application { 
    val json = """ { 
       | "provinceData": 
       |  [ 
       |   { 
       |    "name":"hb", 
       |    "parentName":null, 
       |    "parentId":null, 
       |    "id":"450" 
       |   } 
       |  ] 
       |} 
       | """.stripMargin 

    parse(json).extract[ProvinceJson] 

} 

、それはコンパイルエラーを報告します。

could not find implicit value for parameter formats: net.liftweb.json.Formats 
parse(json).extract[ProvinceJson] 
        ^

not enough arguments for method extract: (implicit formats: net.liftweb.json.Formats, implicit mf: scala.reflect.Manifest[com.thoughtworks.sfexpress.sf_ws.ProvinceJson])com.thoughtworks.sfexpress.sf_ws.ProvinceJson. 
Unspecified value parameters formats, mf. 
parse(json).extract[ProvinceJson] 
        ^

がいます私は何かお見逃しですか?

答えて

19

パーサーにどの形式を使用するかを伝える必要があります。また、パーサが暗黙的な引数を探す必要があります。これをコードのどこかに追加すると、あなたのために問題を解決できます。

implicit val formats = net.liftweb.json.DefaultFormats