/ / Неможливо розібрати json до класу `ProvinceJson`, з lift-json - json, scala, lift

Неможливо проаналізувати json на клас `ProvinceJson`, з lift-json-json, scala, lift

Код Scala:

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]
^

Я щось скучаю?

Відповіді:

21 для відповіді № 1

Вам потрібно сказати аналізатору, які формати використовувати, і зробити це, щоб парсер шукав неявний аргумент. Якщо ви додасте це десь у свій код, вам слід виправити:

implicit val formats = net.liftweb.json.DefaultFormats