疑問に思っていますが、lift-jsonを使用して単純なBeanクラスをjson文字列にシリアル化する方法を教えてください(私はv2.0-M1を使用しています)。私は試した:
val r = JsonDSL.pretty(JsonAST.render(myBean))
そして私は得ています
[error] found : MyBean
[error] required: net.liftweb.json.JsonAST.JValue
ケースクラスを 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
}