в структуре одного envelope... Скажем, User, Order, Attack....
И я хочу десериализовывать их в тип вида data Payload = User User | Order Order | Attack Attack..
Есть какие-то удобные решения для этого, кроме как самому инстанс писать?
если я правильно понял, есть untagged sum в Aeson.Options
Хм, сейчас гляну, спасибо. Я так понимаю, там как-то нужно разобраться какой именно тип десериализовывать. Это можно определить из самого envelope, но как-то надо декодеру об этом сказать...
до первого успешно завершившегося парсера
Хмм... Хотелось, конечно, чего-то вроде "смотри в такое-то свойство в JSON, если значение такое - то используй этот конструктор, если вот такое - то вон тот и т.д."
хотя... похоже на tagged sum, смотри там же
Жаль 🙂 Я думал, может что-то уже в deriving придумали 🙂
Обсуждают сегодня