Часто я нахожусь с JSON, что хочу разобрать строки где-то внутри, что я хочу анализировать нетривиальным способом (не только для String). В таком случае мне нужно сделать декодер или кодек для него, так что я мог бы попытаться сделать что-то вроде следующего:Как я должен обрабатывать отображение через DecodeResult?
CodecJson[URL](_.toString.asJson, h ⇒
h.as[String].flatMap(s ⇒ Try{new URL(s)}.toOption)
)
, но это не будет компилироваться, потому что я не могу flatMap над один вариант.
Как должно обрабатываться это (казалось бы, общее) поведение?
Одним из вариантов было бы декодировать параметр [URL], но это похоже на облом, если вы просто хотите сменить декодирование.
Есть ли принятый способ решения этих последующих операций декодирования?