Я пытаюсь найти некоторую помощь для применения JsonFormat, расширенного по умолчаниюJsonProtocol , к классу, содержащему последовательность объектов.Предоставление JsonFormat для последовательности объектов
Таким образом, для классов:
class Person(val name: String, [......], val adresses: Seq[Adress])
class Adress(val streetname: String, val plz: BigDecimal, val city: String)
Теперь я хотел бы применить свои JsonFormat:
object PersonJsonProtocol extends DefaultJsonProtocol {
implicit object PersonJsonFormat extends RootJsonFormat[Person] {
def write(pers: Person) = JsObject(
"name" -> JsString(pers.name),
[......],
"adresses" -> JsArray(pers.adresses)
)
def read(value: JsValue) = {...}
}
Но на самом деле я не знаю, как это сделать. Я просмотрел документацию по распылению и joun, google, stackoverflow & Co. Я совершенно не знаком с Scala/Spray и, возможно, просто не понимаю смысла. Так что, возможно, кто-то здесь так добр, чтобы помочь мне. Без последовательности адреса я буду работать.
С JsArray, как представлено в примере, я получаю несоответствие типа. Он просматривает список [JsValue], но также преобразует его в список несоответствий.
Я также попытался вставляет отдельную AdressJsonProtocol и включить его с помощью: «адреса» -> AdressJsonFormat.write (pers.adresses), но еще раз это последовательность ...
Спасибо за подсказку с "spray.json.CollectionFormats" и JsArray (pers.adresses.map (_. ToJson) .toList) сделал трюк! Спасибо огромное! – Klink