Как создать кодировщик исключений в Circe?

В моем приложении мне нужно, чтобы некоторые Option кодировались в null, когда они пусты, а другие исключались, когда они пусты. Судя по сигнатуре Encoder, это кажется невозможным для обертки специального типа Option. Есть ли хороший способ справиться с этим?

Изменить: в других ответах (например, Кодирование Scala None для значения JSON с использованием circe), этот вопрос был затронут, но не нашел подходящего решения. Во всех предоставленных ответах это явный обходной путь, с которым необходимо разобраться. Я ищу более общее исправление в будущем. В конечном счете, это то, чего в Circe не хватает, и (по словам @travis-brown) это будет исправлено в ближайшем будущем.


person darkfrog    schedule 15.05.2017    source источник
comment
Возможный дубликат Кодирование Scala None в значение JSON с использованием circe   -  person OlivierBlanvillain    schedule 17.05.2017