stack-1.0.4.3: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Data.Aeson.Extended

Contents

Description

Extensions to Aeson parsing of objects.

Synopsis

Extended failure messages

(.:) :: FromJSON a => Object -> Text -> Parser a Source

Extends .: warning to include field name.

(.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a) Source

Extends .:? warning to include field name.

JSON Parser that emits warnings

data JSONWarning Source

Warning output from WarningParser.

type WarningParser a = WriterT WarningParserMonoid Parser a Source

JSON parser that warns about unexpected fields in objects.

jsonSubWarnings :: WarningParser (WithJSONWarnings a) -> WarningParser a Source

Handle warnings in a sub-object.

jsonSubWarningsT :: Traversable t => WarningParser (t (WithJSONWarnings a)) -> WarningParser (t a) Source

Handle warnings in a Traversable of sub-objects.

jsonSubWarningsTT :: (Traversable t, Traversable u) => WarningParser (u (t (WithJSONWarnings a))) -> WarningParser (u (t a)) Source

Handle warnings in a Maybe Traversable of sub-objects.

logJSONWarnings :: MonadLogger m => FilePath -> [JSONWarning] -> m () Source

Log JSON warnings.

tellJSONField :: Text -> WarningParser () Source

Tell warning parser about an expected field, so it doesn't warn about it.