/ / Scala play! 2 Създайте Json форматор за клас в външна библиотека - json, scala, playframework

Scala play! 2 Създайте Json форматор за клас в външна библиотека - json, scala, playframework

използвам https://github.com/DanielaSfregola/twitter4s и трябва да прочета и да анализирам класа на потребителя, предоставен от twitter4s в Json.

Така че се опитах да създам следния serializer:

object User {
implicit val twitterUser: OFormat[User] = Json.format[User]
}

но това връщане No unapply or unapplySeq function found

Как мога да създам правилен serializer за този външен клас?

Отговори:

2 за отговор № 1

Вашият проблем е, че User има много полета (а именно повече от 22). В скала 2.10 имаше ограничение за броя полета за класа на делата. Това изчезна в 2.11, но не и в Json.format макро на Play!, тъй като те продължават да поддържат за 2.10.

Можете обаче да използвате Джон Екстра, които имат различно изпълнение за макроси и ви позволяват да отидете на повече от 22 полета.

Ако не ви харесва това (макроса има някои ограничения, като например да не извеждате OFormat), можете също да разделите User клас в два (или повече) класа с по-малко от 22 полета и изграждане на първоначалния от тези, с по-опростено (и по-безопасно) изпълнение за Format че това, което трябва да направите, ако сте направили всичко на ръка.

Можете също да четете този въпрос, за допълнителни обяснения.