yaml-0.11.11.2: Support for parsing and rendering YAML documents.

Safe Haskell | None
Language | Haskell2010

Data.Yaml.TH

Contents

- Decoding
- Re-exports from Data.Yaml

Synopsis

- yamlQQ :: QuasiQuoter
- decodeFile :: (Lift a, FromJSON a) => FilePath -> Q (TExp a)
- data Value
  - = Object !Object
  - | Array !Array
  - | String !Text
  - | Number !Scientific
  - | Bool !Bool
  - | Null
- data Parser a
- type Object = KeyMap Value
- type Array = Vector Value
- object :: [Pair] -> Value
- array :: [Value] -> Value
- (.=) :: (KeyValue e kv, ToJSON v) => Key -> v -> kv
- (.:) :: FromJSON a => Object -> Key -> Parser a
- (.:?) :: FromJSON a => Object -> Key -> Parser (Maybe a)
- (.!=) :: Parser (Maybe a) -> a -> Parser a
- class FromJSON a where
  - parseJSON :: Value -> Parser a
  - parseJSONList :: Value -> Parser [a]
  - omittedField :: Maybe a

# Decoding

yamlQQ :: QuasiQuoter Source #

A `QuasiQuoter` for YAML.

#### Examples

Expand

    {-# LANGUAGE QuasiQuotes #-}
    import Data.Yaml.TH

    value :: Value
    value = [yamlQQ|
    name: John Doe
    age: 23
    |]

Since: 0.8.28.0

decodeFile :: (Lift a, FromJSON a) => FilePath -> Q (TExp a) Source #

Decode a YAML file at compile time. Only available on GHC version `7.8.1` or higher.

#### Examples

Expand

    {-# LANGUAGE TemplateHaskell #-}

    config :: Config
    config = $$(decodeFile "config.yaml")

Since: 0.8.19.0

# Re-exports from Data.Yaml

data Value Source #

A JSON value represented as a Haskell value.

Constructors

Object !Object |
Array !Array |
String !Text |
Number !Scientific |
Bool !Bool |
Null |

#### Instances

Instances details

Arbitrary Value | Since: aeson-2.0.3.0
Instance details Defined in Data.Aeson.Types.Internal Methods arbitrary :: Gen Value shrink :: Value -> [Value]
CoArbitrary Value | Since: aeson-2.0.3.0
Instance details Defined in Data.Aeson.Types.Internal Methods coarbitrary :: Value -> Gen b -> Gen b
Function Value | Since: aeson-2.0.3.0
Instance details Defined in Data.Aeson.Types.Internal Methods function :: (Value -> b) -> Value :-> b
FromJSON Value |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Value Source # parseJSONList :: Value -> Parser [Value] Source # omittedField :: Maybe Value Source #
ToJSON Value |
Instance details Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Value -> Value Source # toEncoding :: Value -> Encoding Source # toJSONList :: [Value] -> Value Source # toEncodingList :: [Value] -> Encoding Source # omitField :: Value -> Bool Source #
NFData Value |
Instance details Defined in Data.Aeson.Types.Internal Methods rnf :: Value -> () Source #
Data Value |

Instance details

Defined in Data.Aeson.Types.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Value -> c Value Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Value Source #

toConstr :: Value -> Constr Source #

dataTypeOf :: Value -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Value) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Value) Source #

gmapT :: (forall b. Data b => b -> b) -> Value -> Value Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Value -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Value -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value Source #

IsString Value |
Instance details Defined in Data.Aeson.Types.Internal Methods fromString :: String -> Value Source #
Generic Value |

Instance details

Defined in Data.Aeson.Types.Internal

Associated Types

type Rep Value |

Instance details

Defined in Data.Aeson.Types.Internal

type Rep Value = D1 ('MetaData "Value" "Data.Aeson.Types.Internal" "aeson-2.2.3.0-9nPAODfuQseImfLzwWGeav" 'False) ((C1 ('MetaCons "Object" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Object)) :+: (C1 ('MetaCons "Array" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Array)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: (C1 ('MetaCons "Number" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Scientific)) :+: (C1 ('MetaCons "Bool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "Null" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: Value -> Rep Value x Source #

to :: Rep Value x -> Value Source #

Read Value |
Instance details Defined in Data.Aeson.Types.Internal Methods readsPrec :: Int -> ReadS Value Source # readList :: ReadS [Value] Source # readPrec :: ReadPrec Value Source # readListPrec :: ReadPrec [Value] Source #

Show Value

Since version 1.5.6.0 version object values are printed in lexicographic key order

    >>> toJSON $ H.fromList [("a", True), ("z", False)]
    Object (fromList [("a",Bool True),("z",Bool False)])

    >>> toJSON $ H.fromList [("z", False), ("a", True)]
    Object (fromList [("a",Bool True),("z",Bool False)])

Instance details Defined in Data.Aeson.Types.Internal Methods showsPrec :: Int -> Value -> ShowS Source # show :: Value -> String Source # showList :: [Value] -> ShowS Source #
Eq Value |
Instance details Defined in Data.Aeson.Types.Internal Methods (==) :: Value -> Value -> Bool Source # (/=) :: Value -> Value -> Bool Source #
Ord Value | The ordering is total, consistent with `Eq` instance. However, nothing else about the ordering is specified, and it may change from environment to environment and version to version of either this package or its dependencies (`hashable` and 'unordered-containers'). Since: aeson-1.5.2.0
Instance details Defined in Data.Aeson.Types.Internal Methods compare :: Value -> Value -> Ordering Source # (<) :: Value -> Value -> Bool Source # (<=) :: Value -> Value -> Bool Source # (>) :: Value -> Value -> Bool Source # (>=) :: Value -> Value -> Bool Source # max :: Value -> Value -> Value Source # min :: Value -> Value -> Value Source #
Hashable Value |
Instance details Defined in Data.Aeson.Types.Internal Methods hashWithSalt :: Int -> Value -> Int hash :: Value -> Int
KeyValue Encoding Series |
Instance details Defined in Data.Aeson.Types.ToJSON Methods (.=) :: ToJSON v => Key -> v -> Series Source # explicitToField :: (v -> Encoding) -> Key -> v -> Series Source #
KeyValueOmit Encoding Series |
Instance details Defined in Data.Aeson.Types.ToJSON Methods (.?=) :: ToJSON v => Key -> v -> Series Source # explicitToFieldOmit :: (v -> Bool) -> (v -> Encoding) -> Key -> v -> Series Source #
Lift Value | Since: aeson-0.11.0.0
Instance details Defined in Data.Aeson.Types.Internal Methods lift :: Quote m => Value -> m Exp Source # liftTyped :: forall (m :: Type -> Type). Quote m => Value -> Code m Value Source #
(GToJSON' Encoding arity a, ConsToJSON Encoding arity a, Constructor c) => SumToJSON' TwoElemArray Encoding arity (C1 c a) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods sumToJSON' :: Options -> ToArgs Encoding arity a0 -> C1 c a a0 -> Tagged TwoElemArray Encoding
(GToJSON' Value arity a, ConsToJSON Value arity a, Constructor c) => SumToJSON' TwoElemArray Value arity (C1 c a) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods sumToJSON' :: Options -> ToArgs Value arity a0 -> C1 c a a0 -> Tagged TwoElemArray Value
GToJSON' Encoding arity (U1 :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding arity a -> U1 a -> Encoding
GToJSON' Encoding arity (V1 :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding arity a -> V1 a -> Encoding
GToJSON' Value arity (U1 :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value arity a -> U1 a -> Value
GToJSON' Value arity (V1 :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value arity a -> V1 a -> Value
ToJSON1 f => GToJSON' Encoding One (Rec1 f) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding One a -> Rec1 f a -> Encoding
ToJSON1 f => GToJSON' Value One (Rec1 f) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value One a -> Rec1 f a -> Value
(EncodeProduct arity a, EncodeProduct arity b) => GToJSON' Encoding arity (a :*: b) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding arity a0 -> (a :*: b) a0 -> Encoding
ToJSON a => GToJSON' Encoding arity (K1 i a :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding arity a0 -> K1 i a a0 -> Encoding
(WriteProduct arity a, WriteProduct arity b, ProductSize a, ProductSize b) => GToJSON' Value arity (a :*: b) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value arity a0 -> (a :*: b) a0 -> Value
ToJSON a => GToJSON' Value arity (K1 i a :: Type -> Type) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value arity a0 -> K1 i a a0 -> Value
(ToJSON1 f, GToJSON' Encoding One g) => GToJSON' Encoding One (f :.: g) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Encoding One a -> (f :.: g) a -> Encoding
(ToJSON1 f, GToJSON' Value One g) => GToJSON' Value One (f :.: g) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods gToJSON :: Options -> ToArgs Value One a -> (f :.: g) a -> Value
FromPairs Value (DList Pair) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods fromPairs :: DList Pair -> Value
value ~ Value => KeyValue Value (KeyMap value) | Constructs a singleton `KeyMap`. For calling functions that demand an `Object` for constructing objects. To be used in conjunction with `mconcat`. Prefer to use `object` where possible.
Instance details Defined in Data.Aeson.Types.ToJSON Methods (.=) :: ToJSON v => Key -> v -> KeyMap value Source # explicitToField :: (v -> Value) -> Key -> v -> KeyMap value Source #
value ~ Value => KeyValueOmit Value (KeyMap value) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods (.?=) :: ToJSON v => Key -> v -> KeyMap value Source # explicitToFieldOmit :: (v -> Bool) -> (v -> Value) -> Key -> v -> KeyMap value Source #
v ~ Value => KeyValuePair v (DList Pair) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods pair :: Key -> v -> DList Pair
(key ~ Key, value ~ Value) => KeyValue Value (key, value) |
Instance details Defined in Data.Aeson.Types.ToJSON Methods (.=) :: ToJSON v => Key -> v -> (key, value) Source # explicitToField :: (v -> Value) -> Key -> v -> (key, value) Source #
type Rep Value |

Instance details

Defined in Data.Aeson.Types.Internal

type Rep Value = D1 ('MetaData "Value" "Data.Aeson.Types.Internal" "aeson-2.2.3.0-9nPAODfuQseImfLzwWGeav" 'False) ((C1 ('MetaCons "Object" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Object)) :+: (C1 ('MetaCons "Array" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Array)) :+: C1 ('MetaCons "String" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)))) :+: (C1 ('MetaCons "Number" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Scientific)) :+: (C1 ('MetaCons "Bool" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool)) :+: C1 ('MetaCons "Null" 'PrefixI 'False) (U1 :: Type -> Type))))

data Parser a Source #

A JSON parser. N.B. This might not fit your usual understanding of "parser". Instead you might like to think of `Parser` as a "parse result", i.e. a parser to which the input has already been applied.

#### Instances

Instances details

Alternative Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods empty :: Parser a Source # (<|>) :: Parser a -> Parser a -> Parser a Source # some :: Parser a -> Parser [a] Source # many :: Parser a -> Parser [a] Source #
Applicative Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods pure :: a -> Parser a Source # (<*>) :: Parser (a -> b) -> Parser a -> Parser b Source # liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c Source # (*>) :: Parser a -> Parser b -> Parser b Source # (<*) :: Parser a -> Parser b -> Parser a Source #
Functor Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods fmap :: (a -> b) -> Parser a -> Parser b Source # (<$) :: a -> Parser b -> Parser a Source #
Monad Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods (>>=) :: Parser a -> (a -> Parser b) -> Parser b Source # (>>) :: Parser a -> Parser b -> Parser b Source # return :: a -> Parser a Source #
MonadPlus Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods mzero :: Parser a Source # mplus :: Parser a -> Parser a -> Parser a Source #
MonadFail Parser |
Instance details Defined in Data.Aeson.Types.Internal Methods fail :: String -> Parser a Source #
MonadFix Parser | Since: aeson-2.1.0.0
Instance details Defined in Data.Aeson.Types.Internal Methods mfix :: (a -> Parser a) -> Parser a Source #
Monoid (Parser a) |
Instance details Defined in Data.Aeson.Types.Internal Methods mempty :: Parser a Source # mappend :: Parser a -> Parser a -> Parser a Source # mconcat :: [Parser a] -> Parser a Source #
Semigroup (Parser a) |
Instance details Defined in Data.Aeson.Types.Internal Methods (<>) :: Parser a -> Parser a -> Parser a Source # sconcat :: NonEmpty (Parser a) -> Parser a Source # stimes :: Integral b => b -> Parser a -> Parser a Source #

type Object = KeyMap Value Source #

A JSON "object" (key/value map).

type Array = Vector Value Source #

A JSON "array" (sequence).

object :: [Pair] -> Value Source #

Create a `Value` from a list of name/value `Pair`s. If duplicate keys arise, later keys and their associated values win.

array :: [Value] -> Value Source #

Construct a new `Value` from a list of `Value`s.

(.=) :: (KeyValue e kv, ToJSON v) => Key -> v -> kv infixr 8 Source #

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

Retrieve the value associated with the given key of an `Object`. The result is `empty` if the key is not present or the value cannot be converted to the desired type.

This accessor is appropriate if the key and value must be present in an object for it to be valid. If the key and value are optional, use `.:?` instead.

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

Retrieve the value associated with the given key of an `Object`. The result is `Nothing` if the key is not present or if its value is `Null`, or `empty` if the value cannot be converted to the desired type.

This accessor is most useful if the key and value can be absent from an object without affecting its validity. If the key and value are mandatory, use `.:` instead.

(.!=) :: Parser (Maybe a) -> a -> Parser a Source #

Helper for use in combination with `.:?` to provide default values for optional JSON object fields.

This combinator is most useful if the key and value can be absent from an object without affecting its validity and we know a default value to assign in that case. If the key and value are mandatory, use `.:` instead.

Example usage:

     v1 <- o .:? "opt_field_with_dfl" .!= "default_val"
     v2 <- o .:  "mandatory_field"
     v3 <- o .:? "opt_field2"

class FromJSON a where Source #

A type that can be converted from JSON, with the possibility of failure.

In many cases, you can get the compiler to generate parsing code for you (see below). To begin, let's cover writing an instance by hand.

There are various reasons a conversion could fail. For example, an `Object` could be missing a required key, an `Array` could be of the wrong size, or a value could be of an incompatible type.

The basic ways to signal a failed conversion are as follows:

- `fail` yields a custom error message: it is the recommended way of reporting a failure;
- `empty` (or `mzero`) is uninformative: use it when the error is meant to be caught by some `(`<|>`)`;
- `typeMismatch` can be used to report a failure when the encountered value is not of the expected JSON type; `unexpected` is an appropriate alternative when more than one type may be expected, or to keep the expected type implicit.

`prependFailure` (or `modifyFailure`) add more information to a parser's error messages.

An example type and instance using `typeMismatch` and `prependFailure`:

    -- Allow ourselves to write Text literals.
    {-# LANGUAGE OverloadedStrings #-}

    data Coord = Coord { x :: Double, y :: Double }

    instance FromJSON Coord where
        parseJSON (Object v) = Coord
            <$> v .: "x"
            <*> v .: "y"

        -- We do not expect a non-Object value here.
        -- We could use empty to fail, but typeMismatch
        -- gives a much more informative error message.
        parseJSON invalid    =
            prependFailure "parsing Coord failed, "
                (typeMismatch "Object" invalid)

For this common case of only being concerned with a single type of JSON value, the functions `withObject`, `withScientific`, etc. are provided. Their use is to be preferred when possible, since they are more terse. Using `withObject`, we can rewrite the above instance (assuming the same language extension and data type) as:

    instance FromJSON Coord where
        parseJSON = withObject "Coord" $ \v -> Coord
            <$> v .: "x"
            <*> v .: "y"

Instead of manually writing your `FromJSON` instance, there are two options to do it automatically:

- Data.Aeson.TH provides Template Haskell functions which will derive an instance at compile time. The generated instance is optimized for your type so it will probably be more efficient than the following option.
- The compiler can provide a default generic implementation for `parseJSON`.

To use the second, simply add a `deriving `Generic`` clause to your datatype and declare a `FromJSON` instance for your datatype without giving a definition for `parseJSON`.

For example, the previous example can be simplified to just:

    {-# LANGUAGE DeriveGeneric #-}

    import GHC.Generics

    data Coord = Coord { x :: Double, y :: Double } deriving Generic

    instance FromJSON Coord

or using the DerivingVia extension

    deriving via Generically Coord instance FromJSON Coord

The default implementation will be equivalent to `parseJSON = `genericParseJSON` `defaultOptions``; if you need different options, you can customize the generic decoding by defining:

    customOptions = defaultOptions
                    { fieldLabelModifier = map toUpper
                    }

    instance FromJSON Coord where
        parseJSON = genericParseJSON customOptions

Minimal complete definition

Nothing

Methods

parseJSON :: Value -> Parser a Source #

default parseJSON :: (Generic a, GFromJSON Zero (Rep a)) => Value -> Parser a Source #

parseJSONList :: Value -> Parser [a] Source #

omittedField :: Maybe a Source #

Default value for optional fields. Used by `(`.:?=`)` operator, and Generics and TH deriving with ``allowOmittedFields` = True` (default).

Since: aeson-2.2.0.0

#### Instances

Instances details

FromJSON Key |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Key Source # parseJSONList :: Value -> Parser [Key] Source # omittedField :: Maybe Key Source #
FromJSON DotNetTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser DotNetTime Source # parseJSONList :: Value -> Parser [DotNetTime] Source # omittedField :: Maybe DotNetTime Source #
FromJSON Value |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Value Source # parseJSONList :: Value -> Parser [Value] Source # omittedField :: Maybe Value Source #
FromJSON IntSet |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser IntSet Source # parseJSONList :: Value -> Parser [IntSet] Source # omittedField :: Maybe IntSet Source #
FromJSON Void |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Void Source # parseJSONList :: Value -> Parser [Void] Source # omittedField :: Maybe Void Source #
FromJSON All | Since: aeson-2.2.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser All Source # parseJSONList :: Value -> Parser [All] Source # omittedField :: Maybe All Source #
FromJSON Any | Since: aeson-2.2.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Any Source # parseJSONList :: Value -> Parser [Any] Source # omittedField :: Maybe Any Source #
FromJSON Version |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Version Source # parseJSONList :: Value -> Parser [Version] Source # omittedField :: Maybe Version Source #
FromJSON CTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser CTime Source # parseJSONList :: Value -> Parser [CTime] Source # omittedField :: Maybe CTime Source #
FromJSON Int16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int16 Source # parseJSONList :: Value -> Parser [Int16] Source # omittedField :: Maybe Int16 Source #
FromJSON Int32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int32 Source # parseJSONList :: Value -> Parser [Int32] Source # omittedField :: Maybe Int32 Source #
FromJSON Int64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int64 Source # parseJSONList :: Value -> Parser [Int64] Source # omittedField :: Maybe Int64 Source #
FromJSON Int8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int8 Source # parseJSONList :: Value -> Parser [Int8] Source # omittedField :: Maybe Int8 Source #
FromJSON Word16 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word16 Source # parseJSONList :: Value -> Parser [Word16] Source # omittedField :: Maybe Word16 Source #
FromJSON Word32 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word32 Source # parseJSONList :: Value -> Parser [Word32] Source # omittedField :: Maybe Word32 Source #
FromJSON Word64 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word64 Source # parseJSONList :: Value -> Parser [Word64] Source # omittedField :: Maybe Word64 Source #
FromJSON Word8 |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word8 Source # parseJSONList :: Value -> Parser [Word8] Source # omittedField :: Maybe Word8 Source #
FromJSON Ordering |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Ordering Source # parseJSONList :: Value -> Parser [Ordering] Source # omittedField :: Maybe Ordering Source #
FromJSON URI | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser URI Source # parseJSONList :: Value -> Parser [URI] Source # omittedField :: Maybe URI Source #
FromJSON Scientific |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Scientific Source # parseJSONList :: Value -> Parser [Scientific] Source # omittedField :: Maybe Scientific Source #
FromJSON Text |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Text Source # parseJSONList :: Value -> Parser [Text] Source # omittedField :: Maybe Text Source #
FromJSON Text |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Text Source # parseJSONList :: Value -> Parser [Text] Source # omittedField :: Maybe Text Source #
FromJSON ShortText | Since: aeson-2.0.2.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser ShortText Source # parseJSONList :: Value -> Parser [ShortText] Source # omittedField :: Maybe ShortText Source #
FromJSON CalendarDiffDays |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser CalendarDiffDays Source # parseJSONList :: Value -> Parser [CalendarDiffDays] Source # omittedField :: Maybe CalendarDiffDays Source #
FromJSON Day |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Day Source # parseJSONList :: Value -> Parser [Day] Source # omittedField :: Maybe Day Source #
FromJSON Month |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Month Source # parseJSONList :: Value -> Parser [Month] Source # omittedField :: Maybe Month Source #
FromJSON Quarter |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Quarter Source # parseJSONList :: Value -> Parser [Quarter] Source # omittedField :: Maybe Quarter Source #
FromJSON QuarterOfYear |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser QuarterOfYear Source # parseJSONList :: Value -> Parser [QuarterOfYear] Source # omittedField :: Maybe QuarterOfYear Source #
FromJSON DayOfWeek |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser DayOfWeek Source # parseJSONList :: Value -> Parser [DayOfWeek] Source # omittedField :: Maybe DayOfWeek Source #
FromJSON DiffTime | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser DiffTime Source # parseJSONList :: Value -> Parser [DiffTime] Source # omittedField :: Maybe DiffTime Source #
FromJSON NominalDiffTime | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser NominalDiffTime Source # parseJSONList :: Value -> Parser [NominalDiffTime] Source # omittedField :: Maybe NominalDiffTime Source #
FromJSON SystemTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser SystemTime Source # parseJSONList :: Value -> Parser [SystemTime] Source # omittedField :: Maybe SystemTime Source #
FromJSON UTCTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser UTCTime Source # parseJSONList :: Value -> Parser [UTCTime] Source # omittedField :: Maybe UTCTime Source #
FromJSON CalendarDiffTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser CalendarDiffTime Source # parseJSONList :: Value -> Parser [CalendarDiffTime] Source # omittedField :: Maybe CalendarDiffTime Source #
FromJSON LocalTime |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser LocalTime Source # parseJSONList :: Value -> Parser [LocalTime] Source # omittedField :: Maybe LocalTime Source #
FromJSON TimeOfDay |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser TimeOfDay Source # parseJSONList :: Value -> Parser [TimeOfDay] Source # omittedField :: Maybe TimeOfDay Source #

FromJSON ZonedTime

Supported string formats:

`YYYY-MM-DD HH:MMZ` `YYYY-MM-DD HH:MM:SSZ` `YYYY-MM-DD HH:MM:SS.SSSZ`

The first space may instead be a `T`, and the second space is optional. The `Z` represents UTC. The `Z` may be replaced with a time zone offset of the form `+0000` or `-08:00`, where the first two digits are hours, the `:` is optional and the second two digits (also optional) are minutes.

Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser ZonedTime Source # parseJSONList :: Value -> Parser [ZonedTime] Source # omittedField :: Maybe ZonedTime Source #
FromJSON UUID |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser UUID Source # parseJSONList :: Value -> Parser [UUID] Source # omittedField :: Maybe UUID Source #
FromJSON Integer | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Integer Source # parseJSONList :: Value -> Parser [Integer] Source # omittedField :: Maybe Integer Source #
FromJSON Natural |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Natural Source # parseJSONList :: Value -> Parser [Natural] Source # omittedField :: Maybe Natural Source #
FromJSON () |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser () Source # parseJSONList :: Value -> Parser [()] Source # omittedField :: Maybe () Source #
FromJSON Bool |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Bool Source # parseJSONList :: Value -> Parser [Bool] Source # omittedField :: Maybe Bool Source #
FromJSON Char |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Char Source # parseJSONList :: Value -> Parser [Char] Source # omittedField :: Maybe Char Source #
FromJSON Double |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Double Source # parseJSONList :: Value -> Parser [Double] Source # omittedField :: Maybe Double Source #
FromJSON Float |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Float Source # parseJSONList :: Value -> Parser [Float] Source # omittedField :: Maybe Float Source #
FromJSON Int |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Int Source # parseJSONList :: Value -> Parser [Int] Source # omittedField :: Maybe Int Source #
FromJSON Word |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser Word Source # parseJSONList :: Value -> Parser [Word] Source # omittedField :: Maybe Word Source #
FromJSON v => FromJSON (KeyMap v) | Since: aeson-2.0.1.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (KeyMap v) Source # parseJSONList :: Value -> Parser [KeyMap v] Source # omittedField :: Maybe (KeyMap v) Source #
FromJSON a => FromJSON (First a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (First a) Source # parseJSONList :: Value -> Parser [First a] Source # omittedField :: Maybe (First a) Source #
FromJSON a => FromJSON (Last a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Last a) Source # parseJSONList :: Value -> Parser [Last a] Source # omittedField :: Maybe (Last a) Source #
FromJSON a => FromJSON (Max a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Max a) Source # parseJSONList :: Value -> Parser [Max a] Source # omittedField :: Maybe (Max a) Source #
FromJSON a => FromJSON (Min a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Min a) Source # parseJSONList :: Value -> Parser [Min a] Source # omittedField :: Maybe (Min a) Source #
FromJSON a => FromJSON (WrappedMonoid a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (WrappedMonoid a) Source # parseJSONList :: Value -> Parser [WrappedMonoid a] Source # omittedField :: Maybe (WrappedMonoid a) Source #
FromJSON a => FromJSON (IntMap a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (IntMap a) Source # parseJSONList :: Value -> Parser [IntMap a] Source # omittedField :: Maybe (IntMap a) Source #
FromJSON a => FromJSON (Seq a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Seq a) Source # parseJSONList :: Value -> Parser [Seq a] Source # omittedField :: Maybe (Seq a) Source #
(Ord a, FromJSON a) => FromJSON (Set a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Set a) Source # parseJSONList :: Value -> Parser [Set a] Source # omittedField :: Maybe (Set a) Source #
FromJSON v => FromJSON (Tree v) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Tree v) Source # parseJSONList :: Value -> Parser [Tree v] Source # omittedField :: Maybe (Tree v) Source #
FromJSON1 f => FromJSON (Fix f) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Fix f) Source # parseJSONList :: Value -> Parser [Fix f] Source # omittedField :: Maybe (Fix f) Source #
(FromJSON1 f, Functor f) => FromJSON (Mu f) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Mu f) Source # parseJSONList :: Value -> Parser [Mu f] Source # omittedField :: Maybe (Mu f) Source #
(FromJSON1 f, Functor f) => FromJSON (Nu f) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Nu f) Source # parseJSONList :: Value -> Parser [Nu f] Source # omittedField :: Maybe (Nu f) Source #
FromJSON a => FromJSON (DNonEmpty a) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (DNonEmpty a) Source # parseJSONList :: Value -> Parser [DNonEmpty a] Source # omittedField :: Maybe (DNonEmpty a) Source #
FromJSON a => FromJSON (DList a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (DList a) Source # parseJSONList :: Value -> Parser [DList a] Source # omittedField :: Maybe (DList a) Source #
FromJSON a => FromJSON (NonEmpty a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (NonEmpty a) Source # parseJSONList :: Value -> Parser [NonEmpty a] Source # omittedField :: Maybe (NonEmpty a) Source #
FromJSON a => FromJSON (Identity a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Identity a) Source # parseJSONList :: Value -> Parser [Identity a] Source # omittedField :: Maybe (Identity a) Source #
FromJSON a => FromJSON (First a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (First a) Source # parseJSONList :: Value -> Parser [First a] Source # omittedField :: Maybe (First a) Source #
FromJSON a => FromJSON (Last a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Last a) Source # parseJSONList :: Value -> Parser [Last a] Source # omittedField :: Maybe (Last a) Source #
FromJSON a => FromJSON (Down a) | Since: aeson-2.2.0.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Down a) Source # parseJSONList :: Value -> Parser [Down a] Source # omittedField :: Maybe (Down a) Source #
FromJSON a => FromJSON (Dual a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Dual a) Source # parseJSONList :: Value -> Parser [Dual a] Source # omittedField :: Maybe (Dual a) Source #
FromJSON a => FromJSON (Product a) | Since: aeson-2.2.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Product a) Source # parseJSONList :: Value -> Parser [Product a] Source # omittedField :: Maybe (Product a) Source #
FromJSON a => FromJSON (Sum a) | Since: aeson-2.2.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Sum a) Source # parseJSONList :: Value -> Parser [Sum a] Source # omittedField :: Maybe (Sum a) Source #
(Generic a, GFromJSON Zero (Rep a)) => FromJSON (Generically a) | Since: aeson-2.1.0.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Generically a) Source # parseJSONList :: Value -> Parser [Generically a] Source # omittedField :: Maybe (Generically a) Source #
(FromJSON a, Integral a) => FromJSON (Ratio a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Ratio a) Source # parseJSONList :: Value -> Parser [Ratio a] Source # omittedField :: Maybe (Ratio a) Source #
FromJSON a => FromJSON (Array a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Array a) Source # parseJSONList :: Value -> Parser [Array a] Source # omittedField :: Maybe (Array a) Source #
(Prim a, FromJSON a) => FromJSON (PrimArray a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (PrimArray a) Source # parseJSONList :: Value -> Parser [PrimArray a] Source # omittedField :: Maybe (PrimArray a) Source #
FromJSON a => FromJSON (SmallArray a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (SmallArray a) Source # parseJSONList :: Value -> Parser [SmallArray a] Source # omittedField :: Maybe (SmallArray a) Source #
FromJSON a => FromJSON (Maybe a) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Maybe a) Source # parseJSONList :: Value -> Parser [Maybe a] Source # omittedField :: Maybe (Maybe a) Source #
(Eq a, Hashable a, FromJSON a) => FromJSON (HashSet a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (HashSet a) Source # parseJSONList :: Value -> Parser [HashSet a] Source # omittedField :: Maybe (HashSet a) Source #
FromJSON a => FromJSON (Vector a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Vector a) Source # parseJSONList :: Value -> Parser [Vector a] Source # omittedField :: Maybe (Vector a) Source #
(Prim a, FromJSON a) => FromJSON (Vector a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Vector a) Source # parseJSONList :: Value -> Parser [Vector a] Source # omittedField :: Maybe (Vector a) Source #
(Storable a, FromJSON a) => FromJSON (Vector a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Vector a) Source # parseJSONList :: Value -> Parser [Vector a] Source # omittedField :: Maybe (Vector a) Source #
(Vector Vector a, FromJSON a) => FromJSON (Vector a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Vector a) Source # parseJSONList :: Value -> Parser [Vector a] Source # omittedField :: Maybe (Vector a) Source #
FromJSON a => FromJSON (Maybe a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Maybe a) Source # parseJSONList :: Value -> Parser [Maybe a] Source # omittedField :: Maybe (Maybe a) Source #
FromJSON a => FromJSON (Solo a) | Since: aeson-2.0.2.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Solo a) Source # parseJSONList :: Value -> Parser [Solo a] Source # omittedField :: Maybe (Solo a) Source #
FromJSON a => FromJSON [a] |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser [a] Source # parseJSONList :: Value -> Parser [[a]] Source # omittedField :: Maybe [a] Source #
HasResolution a => FromJSON (Fixed a) | This instance includes a bounds check to prevent maliciously large inputs to fill up the memory of the target system. You can newtype `Scientific` and provide your own instance using `withScientific` if you want to allow larger inputs.
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Fixed a) Source # parseJSONList :: Value -> Parser [Fixed a] Source # omittedField :: Maybe (Fixed a) Source #
(FromJSONKey k, Ord k, FromJSON v) => FromJSON (Map k v) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Map k v) Source # parseJSONList :: Value -> Parser [Map k v] Source # omittedField :: Maybe (Map k v) Source #
(FromJSON a, FromJSON b) => FromJSON (Either a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Either a b) Source # parseJSONList :: Value -> Parser [Either a b] Source # omittedField :: Maybe (Either a b) Source #
FromJSON (Proxy a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Proxy a) Source # parseJSONList :: Value -> Parser [Proxy a] Source # omittedField :: Maybe (Proxy a) Source #
(FromJSON a, FromJSON b) => FromJSON (Either a b) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Either a b) Source # parseJSONList :: Value -> Parser [Either a b] Source # omittedField :: Maybe (Either a b) Source #
(FromJSON a, FromJSON b) => FromJSON (These a b) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (These a b) Source # parseJSONList :: Value -> Parser [These a b] Source # omittedField :: Maybe (These a b) Source #
(FromJSON a, FromJSON b) => FromJSON (Pair a b) | Since: aeson-1.5.3.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Pair a b) Source # parseJSONList :: Value -> Parser [Pair a b] Source # omittedField :: Maybe (Pair a b) Source #
(FromJSON a, FromJSON b) => FromJSON (These a b) | Since: aeson-1.5.1.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (These a b) Source # parseJSONList :: Value -> Parser [These a b] Source # omittedField :: Maybe (These a b) Source #
(FromJSON v, FromJSONKey k, Eq k, Hashable k) => FromJSON (HashMap k v) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (HashMap k v) Source # parseJSONList :: Value -> Parser [HashMap k v] Source # omittedField :: Maybe (HashMap k v) Source #
(FromJSON a, FromJSON b) => FromJSON (a, b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b) Source # parseJSONList :: Value -> Parser [(a, b)] Source # omittedField :: Maybe (a, b) Source #
FromJSON a => FromJSON (Const a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Const a b) Source # parseJSONList :: Value -> Parser [Const a b] Source # omittedField :: Maybe (Const a b) Source #
FromJSON b => FromJSON (Tagged a b) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Tagged a b) Source # parseJSONList :: Value -> Parser [Tagged a b] Source # omittedField :: Maybe (Tagged a b) Source #
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (These1 f g a) | Since: aeson-1.5.1.0
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (These1 f g a) Source # parseJSONList :: Value -> Parser [These1 f g a] Source # omittedField :: Maybe (These1 f g a) Source #
(FromJSON a, FromJSON b, FromJSON c) => FromJSON (a, b, c) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c) Source # parseJSONList :: Value -> Parser [(a, b, c)] Source # omittedField :: Maybe (a, b, c) Source #
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Product f g a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Product f g a) Source # parseJSONList :: Value -> Parser [Product f g a] Source # omittedField :: Maybe (Product f g a) Source #
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Sum f g a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Sum f g a) Source # parseJSONList :: Value -> Parser [Sum f g a] Source # omittedField :: Maybe (Sum f g a) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d) => FromJSON (a, b, c, d) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d) Source # parseJSONList :: Value -> Parser [(a, b, c, d)] Source # omittedField :: Maybe (a, b, c, d) Source #
(FromJSON1 f, FromJSON1 g, FromJSON a) => FromJSON (Compose f g a) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (Compose f g a) Source # parseJSONList :: Value -> Parser [Compose f g a] Source # omittedField :: Maybe (Compose f g a) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e) => FromJSON (a, b, c, d, e) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e)] Source # omittedField :: Maybe (a, b, c, d, e) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f) => FromJSON (a, b, c, d, e, f) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f)] Source # omittedField :: Maybe (a, b, c, d, e, f) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g) => FromJSON (a, b, c, d, e, f, g) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g)] Source # omittedField :: Maybe (a, b, c, d, e, f, g) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h) => FromJSON (a, b, c, d, e, f, g, h) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i) => FromJSON (a, b, c, d, e, f, g, h, i) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j) => FromJSON (a, b, c, d, e, f, g, h, i, j) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k) => FromJSON (a, b, c, d, e, f, g, h, i, j, k) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j, k) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j, k, l) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j, k, l, m) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Source #
(FromJSON a, FromJSON b, FromJSON c, FromJSON d, FromJSON e, FromJSON f, FromJSON g, FromJSON h, FromJSON i, FromJSON j, FromJSON k, FromJSON l, FromJSON m, FromJSON n, FromJSON o) => FromJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) |
Instance details Defined in Data.Aeson.Types.FromJSON Methods parseJSON :: Value -> Parser (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source # parseJSONList :: Value -> Parser [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] Source # omittedField :: Maybe (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Source #