В вашем коде ItemREST
есть список элементов типа Item
.Следовательно, для сериализации ItemREST
требуется сериализатор для Item
.
object Item {
implicit val itemFormat = Json.format[Item]
}
object ItemREST {
implicit val itemRESTFormat: Format[ItemREST] = Json.format[ItemREST]
}
Вам просто нужно объявить сериализатор Item перед ItemREST, и это решит вашу проблему.
Кроме того, вы можете попробовать добавить
implicit val itemFormat = Json.format[Item]
непосредственно перед
implicit val itemRESTFormat: Format[ItemREST] = Json.format[ItemREST]
Полный код будет выглядеть следующим образом
case class Item(i : Int)
case class ItemList(list : List[Item])
object ItemList{
implicit val itemFormat = Json.format[Item]
implicit val itemListFormat = Json.format[ItemList]
}
object SOQ extends App {
println(Json.toJson(ItemList(List(Item(1),Item(2)))))
}
, что даст вам n вывод в виде
{"list":[{"i":1},{"i":2}]}