używam https://github.com/DanielaSfregola/twitter4s i muszę przeczytać i parsować klasę User dostarczoną przez twitter4s w Json.
Próbowałem więc utworzyć następujący serializator:
object User {
implicit val twitterUser: OFormat[User] = Json.format[User]
}
ale ten powrót No unapply or unapplySeq function found
Jak mogę utworzyć poprawny serializator dla tej klasy zewnętrznej?
Odpowiedzi:
2 dla odpowiedzi № 1Twój problem polega na tym User
ma wiele pól (czyli ponad 22). W scala 2.10 istniało ograniczenie liczby pól dla klasy przypadków. Zniknęło to w 2.11, ale nie w Json.format
makro Play !, ponieważ nadal obsługują 2.10.
Możesz jednak użyć Json Extra, które mają inną implementację makr i pozwalają przejść dalej niż 22 pola.
Jeśli ci się nie podoba (makro ma pewne ograniczenia, takie jak brak wypisywania an OFormat
), możesz także podzielić User
klasy w dwóch (lub więcej) klasach z mniej niż 22 polami i zbuduj początkową z nich za pomocą prostszej (i bezpieczniejszej) implementacji Format
to musielibyście zrobić, gdybyście zrobili wszystko ręcznie.
Możesz także przeczytać to pytanie, w celu uzyskania dalszych wyjaśnień.