我正在尝试从列表构建一个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)))
答案 0 :(得分:1)
您正在寻找decompose
(doc)。请参阅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"}]}