Преобразование в net.liftweb.json.JsonAST.JObject Lift в Scala

Я пытаюсь создать объект JSON из списка, в котором ключ - «продукты», а значение - List [Product], где Product - класс случая. Но я получаю сообщение об ошибке «несоответствие типов; найдено: (String, List [com .mycompnay.ws.client.Product]) требуется: net.liftweb.json.JObject (который расширяется до) net.liftweb.json.JsonAST.JObject ".

То, что я сделал до сих пор, выглядит следующим образом:

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

person Sakalya    schedule 21.11.2016    source источник


Ответы (1)


Вы ищете decompose (doc). См. этот ответ.

Я протестировал следующий код, и он работал нормально:

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"}]}
person Paweł Bartkiewicz    schedule 21.11.2016
comment
Да, это прекрасно помогает. Спасибо за ответ. - person Sakalya; 21.11.2016
comment
@Sakalya Я рад, что смог помочь. Пожалуйста, примите этот ответ, если через некоторое время не будет лучшего ответа. Спасибо :) - person Paweł Bartkiewicz; 21.11.2016