У меня есть (действительный) массив с кодировкой json, в котором отсутствуют или искажены данные. Я хочу, чтобы Эсон превратил это в Maybe [Maybe Point]
и получил Nothing
, где элемент массива не был допустимым Point
.
import Data.Aeson
decode "[1,2,3,4,null,\"hello\"]" :: (Maybe [Maybe Int])
=> Nothing
Но я бы предпочел, чтобы он оценивал
=> Just [Just 1, Just 2, Just 3, Just 4, Nothing, Nothing]
Если это невозможно сделать с помощью Aeson, есть ли другая библиотека, которая может это сделать?
Обратите внимание, что фактический объект намного сложнее, чем простое целое число, поэтому манипуляции со строками не являются жизнеспособным решением.