У меня есть класс, который вложен в список в другом классе.это выглядит так
import spray.json._
import DefaultJsonProtocol._
case class Person(
firstName: String,
lastName: String
)
object Person {
...
}
object PersonJsonProtocol extends DefaultJsonProtocol {
implicit val personFormat = jsonFormat2(Person.apply)
}
метод toJson здесь работает отлично, однако этот класс встроен в виде списка в другом классе, как этот.
import Person._
import PersonJsonProtocol._
import spray.json._
import DefaultJsonProtocol._
case class Course(
courseName: String,
students: List[Person]
)
object CourseJsonProtocol extends DefaultJsonProtocol {
implicit val courseFormat = jsonFormat2(Course)
}
в другом классе
import Person._
import Course._
import PersonJsonProtocol._
import CourseJsonProtocol._
new Course("English", List(persons)).toJson
// this is failing
Однако, когда я импортирую этот протокол и пытаюсь использовать метод toJson, я получаю «Не удается найти класс типа JsonWriter или JsonFormat для курса»
Я не уверен, как добиться десериализации вложенного спискаобъекты, я не могу найти это где-нибудь в документах.Кто-то успел сделать это раньше?
Best.