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

Converting to net.liftweb.json.JsonAST.JObject Lift in Scala

我正在尝试从一个列表中构建一个 JSON 对象,其中键为 "products",值为 List[Product],其中 Product 是一个案例 class.But 我收到的错误是说 "type mismatch; found : (String, List[com.mycompnay.ws.client.Product]) required: net.liftweb.json.JObject (which expands to) net.liftweb.json.JsonAST.JObject".

我目前所做的如下:

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

您正在寻找 decompose (doc). See 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"}]}