在Scala中转换为net.liftweb.json.JsonAST.JObject Lift

时间:2016-11-21 10:33:00

标签: scala lift lift-json

我正在尝试从列表构建一个JSON对象,其中key是" products"和值是List [Product],其中Product是一个case类。但是我收到的错误是" type mismatch; found:(String,List [com.mycompnay.ws.client.Product])required:net.liftweb.json.JObject(扩展为)net.liftweb.json.JsonAST.JObject"。

到目前为止,我所做的工作如下:

val resultJson:JObject = "products" -> resultList
      println(compact(render(resultJson)))

1 个答案:

答案 0 :(得分:1)

您正在寻找decomposedoc)。请参阅this answer

我测试了以下代码并且工作正常:

import net.liftweb.json._
import net.liftweb.json.JsonDSL._
import net.liftweb.json.Extraction._

implicit val formats = net.liftweb.json.DefaultFormats

case class Product(foo: String)

val resultList: List[Product] = List(Product("bar"), Product("baz"))
val resultJson: JObject = ("products" -> decompose(resultList))
println(compact(render(resultJson)))

结果:

{"products":[{"foo":"bar"},{"foo":"baz"}]}