Análisis JSON tolerante a fallos

Estoy usando Data.Aeson para analizar algunos JSON en un tipo de registro. De vez en cuando se agregan datos al JSON y esto rompe mi código, ya que Aeson se queja de algo:

Objeto esperado con 21 pares de nombre / valor pero obtuvo 23 nombre / valor

Realmente preferiría analizar el JSON de forma tolerante a fallos. No me importa si se agregan más campos al JSON en una fecha posterior, ¡simplemente analice lo que pueda! ¿Hay alguna manera de lograr esta tolerancia a fallos? Aquí está mi código:

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

Debo agregar que estoy usando deriveJSON de Data.Aeson.TH para generar el código de análisis. Si escribo el código FromJSON manualmente, es tolerante a fallos, pero me gustaría no tener que hacerlo ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta