使用lift-json将scala对象序列化为JSon String

时间:2010-02-08 16:13:44

标签: json scala

我想知道,请您告诉我如何使用lift-json将一个简单的bean类序列化为json字符串(我正在使用v2.0-M1)。  我试过了:

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

我正在

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

谢谢, -A

1 个答案:

答案 0 :(得分:26)

您可以将案例类“分解”为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
}