W wersji 2.1 używamy czegoś takiego jak poniżej, aby uzyskać obiekt istot z JSON poprzez czytanie.Odtwórz Kombinatory JSON
implicit val creatureReads = (
(__ \ "name").read[String] and
(__ \ "isDead").read[Boolean] and
(__ \ "weight").read[Float]
)(Creature.apply _)
krewny nowego w Scala Próbuję zrozumieć, czy istnieje jakiś inny sposób, aby zbudować obiekt Creature bez użycia metody Zastosuj? Czy byłoby możliwe posiadanie anonimowej funkcji do stworzenia obiektu zamiast polegania na wniosku?
Mam przypadki użycia, w których większość pól w moich obiektach może być niedostępna, ale chciałbym nadal budować obiekt z tego, co mam. Czy lepiej jest po prostu zdefiniować jeden READ dla obiektu i użyć readnullable dla każdego z pól?
Mogę również mieć złożone warunki warunkowe, więc czy byłoby czystsze zdefiniowanie niestandardowych funkcji do ich zbudowania zamiast próby przechwycenia wszystkich przypadków w jednym Czytniku?
Dzięki, że nie straciła gola dla mnie. Ale jeszcze jedno pytanie dotyczące JSErrors, jaki byłby czysty sposób określenia niestandardowego błędu zamiast "ścieżka \ foo" nie znaleziono? Czy jest gdzieś, gdzie mogę umieścić w Read? –
Nie dla domyślnych odczytów, ale zależy to od przypadku użycia. Czy możesz z tym podzielić osobne pytanie? –
Oczywiście, czy możesz rzucić okiem na http://stackoverflow.com/questions/17818924/play-framework-json-reader-and-custom-jserrors –