Сериализация объекта scala в строку JSon с использованием lift-json - PullRequest
20 голосов
/ 08 февраля 2010

Мне интересно, пожалуйста, дайте мне знать, как я могу использовать lift-json для сериализации простого класса бинов в строку json (я использую v2.0-M1). Я попробовал:

val r = JsonDSL.pretty(JsonAST.render(myBean))

и я получаю

[error]  found   : MyBean
[error]  required: net.liftweb.json.JsonAST.JValue

Спасибо, -

1 Ответ

26 голосов
/ 08 февраля 2010

Вы можете «разложить» класс case на JSON и затем отобразить его. Пример:

scala> import net.liftweb.json.JsonAST._
scala> import net.liftweb.json.Extraction._
scala> import net.liftweb.json.Printer._    
scala> implicit val formats = net.liftweb.json.DefaultFormats

scala> case class MyBean(name: String, age: Int)
scala> pretty(render(decompose(MyBean("joe", 35))))
res0: String = 
{
  "name":"joe",
  "age":35
}

Но иногда проще использовать синтаксис DSL:

scala> import net.liftweb.json.JsonDSL._
scala> val json = ("name" -> "joe") ~ ("age" -> 35)
scala> pretty(render(json))
res1: String = 
{
  "name":"joe",
  "age":35
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...