2010-02-08 153 views
19

我想知道,请问我如何使用lift-json将简单的bean类序列化为json字符串(我正在使用v2.0- M1)。 我想:使用lift-json将scala对象序列化为JSon字符串

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

和我得到

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

感谢, -A

回答

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 
} 
+5

如果不包含的功能的情况下,类? – 2012-03-07 16:19:54

+0

使用liftweb 3.1.0,这已经从pretty(render())移动到prettyRender()。你也可以做compactRender()。两者都是net.liftweb.json.JsonAST._的一部分 – ammills01 2017-11-28 16:03:01

相关问题