2016-11-21 10 views
0

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

То, что я сделал до сих пор, как показано ниже:

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

ответ

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"}]} 
+0

Да, что отлично helps.Thanks за ваш ответ. – Sakalya

+0

@ Сакаля Я рад, что смогу помочь. Пожалуйста, подумайте о том, чтобы принять этот ответ, если после него не будет лучшего ответа. Благодаря :) –