Отказоустойчивый анализ JSON

Я использую Data.Aeson для анализа JSON-типа в тип записи. Время от времени данные добавляются в JSON, и это нарушает мой код, поскольку Эсон жалуется на что-то вроде:

expected Object with 21 name/value pairs but got 23 name/value

Я действительно предпочитаю анализировать JSON отказоустойчивым способом - мне все равно, если в JSON будут добавлены дополнительные поля, просто проанализируйте все, что сможете! Есть ли способ добиться этой отказоустойчивости? Вот мой код:

myRecordFromJSONString :: BS.ByteString -> Maybe MyRecord
myRecordFromJSONString s = case Data.Attoparsec.parse json s of
  Done _rest res -> Data.Aeson.Types.parseMaybe parseJSON res
  _              -> Nothing

Я должен добавить, что для генерации кода синтаксического анализа я использую DerveJSON из Data.Aeson.TH. Если я пишу код FromJSON вручную, он отказоустойчив, но я бы не хотел этого делать ...

Ответы на вопрос(1)

Ваш ответ на вопрос