Copyright | (C) 2015 Oleg Grenrus |
---|---|
License | BSD3 |
Maintainer | Oleg Grenrus <oleg.grenrus@iki.fi> |
Safe Haskell | None |
Language | Haskell2010 |
Data.Aeson.Compat
Contents
Description
Compatibility notices
decode
etc. work as inaeson >=0.9
- but it is generalised to work in any
MonadThrow
(that is extra) .:?
works as inaeson ||=0.11
.:!
works as inaeson ||=0.11
and as.:?
did inaeson ==0.10.*
- Orphan instances
FromJSON
Day
andFromJSON
LocalTime
foraeson <0.10
Encoding
related functionality is not added. It's present only withaeson >=0.10
Synopsis
- decode :: (FromJSON a, MonadThrow m) => ByteString -> m a
- decode' :: (FromJSON a, MonadThrow m) => ByteString -> m a
- newtype AesonException = AesonException String
- eitherDecode :: FromJSON a => ByteString -> Either String a
- eitherDecode' :: FromJSON a => ByteString -> Either String a
- encode :: ToJSON a => a -> ByteString
- decodeStrict :: (FromJSON a, MonadThrow m) => ByteString -> m a
- decodeStrict' :: (FromJSON a, MonadThrow m) => ByteString -> m a
- eitherDecodeStrict :: FromJSON a => ByteString -> Either String a
- eitherDecodeStrict' :: FromJSON a => ByteString -> Either String a
- data Value
- type Encoding = Encoding' Value
- fromEncoding :: Encoding' tag -> Builder
- type Array = Vector Value
- type Object = HashMap Text Value
- newtype DotNetTime = DotNetTime {
- fromDotNetTime :: UTCTime
- class FromJSON a where
- data Result a
- fromJSON :: FromJSON a => Value -> Result a
- class ToJSON a where
- toJSON :: a -> Value
- toEncoding :: a -> Encoding
- toJSONList :: [a] -> Value
- toEncodingList :: [a] -> Encoding
- class KeyValue kv where
- class GFromJSON arity (f :: Type -> Type)
- type GToJSON = GToJSON Value
- type GToEncoding = GToJSON Encoding
- genericToJSON :: (Generic a, GToJSON Value Zero (Rep a)) => Options -> a -> Value
- genericToEncoding :: (Generic a, GToJSON Encoding Zero (Rep a)) => Options -> a -> Encoding
- genericParseJSON :: (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a
- defaultOptions :: Options
- withObject :: String -> (Object -> Parser a) -> Value -> Parser a
- withText :: String -> (Text -> Parser a) -> Value -> Parser a
- withArray :: String -> (Array -> Parser a) -> Value -> Parser a
- withNumber :: String -> (Number -> Parser a) -> Value -> Parser a
- withScientific :: String -> (Scientific -> Parser a) -> Value -> Parser a
- withBool :: String -> (Bool -> Parser a) -> Value -> Parser a
- withEmbeddedJSON :: String -> (Value -> Parser a) -> Value -> Parser a
- data Series
- pairs :: Series -> Encoding
- foldable :: (Foldable t, ToJSON a) => t a -> Encoding
- (.:) :: FromJSON a => Object -> Text -> Parser a
- (.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a)
- (.:!) :: FromJSON a => Object -> Text -> Parser (Maybe a)
- (.!=) :: Parser (Maybe a) -> a -> Parser a
- object :: [Pair] -> Value
- json :: Parser Value
- json' :: Parser Value
- value :: Parser Value
- value' :: Parser Value
- data Parser a
Encoding and decoding
Direct encoding
decode :: (FromJSON a, MonadThrow m) => ByteString -> m a Source #
Like original decode
but in arbitrary MonadThrow
.
Parse a top-level JSON value, i.e. also strings, numbers etc.
decode' :: (FromJSON a, MonadThrow m) => ByteString -> m a Source #
Like original decode'
but in arbitrary MonadThrow
.
newtype AesonException Source #
Exception thrown by decode
- family of functions in this module.
Constructors
AesonException String |
Instances
Show AesonException Source # | |
Defined in Data.Aeson.Compat Methods showsPrec :: Int -> AesonException -> ShowS show :: AesonException -> String showList :: [AesonException] -> ShowS | |
Exception AesonException Source # | |
Defined in Data.Aeson.Compat Methods toException :: AesonException -> SomeException fromException :: SomeException -> Maybe AesonException displayException :: AesonException -> String |
eitherDecode :: FromJSON a => ByteString -> Either String a #
eitherDecode' :: FromJSON a => ByteString -> Either String a #
Variants for strict bytestrings
decodeStrict :: (FromJSON a, MonadThrow m) => ByteString -> m a Source #
Like original decodeStrict
but in arbitrary MonadThrow
.
decodeStrict' :: (FromJSON a, MonadThrow m) => ByteString -> m a Source #
Like original decodeStrict'
but in arbitrary MonadThrow
.
eitherDecodeStrict :: FromJSON a => ByteString -> Either String a #
eitherDecodeStrict' :: FromJSON a => ByteString -> Either String a #
Core JSON types
Instances
Eq Value | |
Data Value | |
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 gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Value dataTypeOf :: Value -> DataType dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Value) dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Value) gmapT :: (forall b. Data b => b -> b) -> Value -> Value gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Value -> r gmapQ :: (forall d. Data d => d -> u) -> Value -> [u] gmapQi :: Int -> (forall d. Data d => d -> u) -> Value -> u gmapM :: Monad m => (forall d. Data d => d -> m d) -> Value -> m Value gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Value -> m Value | |
Read Value | |
Defined in Data.Aeson.Types.Internal | |
Show Value | |
IsString Value | |
Defined in Data.Aeson.Types.Internal Methods fromString :: String -> Value | |
Generic Value | |
Lift Value | |
Defined in Data.Aeson.Types.Internal | |
FromJSON Value | |
KeyValue Object | |
Defined in Data.Aeson.Types.ToJSON | |
KeyValue Pair | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Value | |
Defined in Data.Aeson.Types.ToJSON | |
Hashable Value | |
Defined in Data.Aeson.Types.Internal | |
NFData Value | |
Defined in Data.Aeson.Types.Internal | |
FromString Encoding | |
Defined in Data.Aeson.Types.ToJSON Methods fromString :: String -> Encoding | |
FromString Value | |
Defined in Data.Aeson.Types.ToJSON Methods fromString :: String -> Value | |
GToJSON Encoding arity (U1 :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON | |
GToJSON Value arity (V1 :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON | |
GToJSON Value arity (U1 :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON1 f => GToJSON Encoding One (Rec1 f) | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON1 f => GToJSON Value One (Rec1 f) | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON a => GToJSON Encoding arity (K1 i a :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON | |
(EncodeProduct arity a, EncodeProduct arity b) => GToJSON Encoding arity (a :*: b) | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON a => GToJSON Value arity (K1 i a :: Type -> Type) | |
Defined in Data.Aeson.Types.ToJSON | |
(WriteProduct arity a, WriteProduct arity b, ProductSize a, ProductSize b) => GToJSON Value arity (a :*: b) | |
Defined in Data.Aeson.Types.ToJSON | |
(ToJSON1 f, GToJSON Encoding One g) => GToJSON Encoding One (f :.: g) | |
Defined in Data.Aeson.Types.ToJSON | |
(ToJSON1 f, GToJSON Value One g) => GToJSON Value One (f :.: g) | |
Defined in Data.Aeson.Types.ToJSON | |
FromPairs Value (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON | |
v ~ Value => KeyValuePair v (DList Pair) | |
Defined in Data.Aeson.Types.ToJSON Methods pair :: String -> v -> DList Pair | |
(GToJSON Encoding arity a, ConsToJSON Encoding arity a, Constructor c) => SumToJSON' TwoElemArray Encoding arity (C1 c a) | |
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) | |
Defined in Data.Aeson.Types.ToJSON Methods sumToJSON' :: Options -> ToArgs Value arity a0 -> C1 c a a0 -> Tagged TwoElemArray Value | |
type Rep Value | |
Defined in Data.Aeson.Types.Internal type Rep Value = D1 (MetaData "Value" "Data.Aeson.Types.Internal" "aeson-1.4.6.0-GW12281wWczJyRiEaI3P58" 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)))) |
fromEncoding :: Encoding' tag -> Builder #
Convenience types
newtype DotNetTime #
Constructors
DotNetTime | |
Fields
|
Instances
Type conversion
Minimal complete definition
Nothing
Instances
Instances
Monad Result | |
Functor Result | |
MonadFail Result | |
Defined in Data.Aeson.Types.Internal | |
Applicative Result | |
Foldable Result | |
Defined in Data.Aeson.Types.Internal Methods fold :: Monoid m => Result m -> m foldMap :: Monoid m => (a -> m) -> Result a -> m foldr :: (a -> b -> b) -> b -> Result a -> b foldr' :: (a -> b -> b) -> b -> Result a -> b foldl :: (b -> a -> b) -> b -> Result a -> b foldl' :: (b -> a -> b) -> b -> Result a -> b foldr1 :: (a -> a -> a) -> Result a -> a foldl1 :: (a -> a -> a) -> Result a -> a elem :: Eq a => a -> Result a -> Bool maximum :: Ord a => Result a -> a | |
Traversable Result | |
MonadPlus Result | |
Alternative Result | |
Eq a => Eq (Result a) | |
Show a => Show (Result a) | |
Semigroup (Result a) | |
Monoid (Result a) | |
NFData a => NFData (Result a) | |
Defined in Data.Aeson.Types.Internal |
Minimal complete definition
Nothing
Instances
ToJSON Bool | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Bool -> Encoding # toJSONList :: [Bool] -> Value # toEncodingList :: [Bool] -> Encoding # | |
ToJSON Char | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Char -> Encoding # toJSONList :: [Char] -> Value # toEncodingList :: [Char] -> Encoding # | |
ToJSON Double | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Double -> Encoding # toJSONList :: [Double] -> Value # toEncodingList :: [Double] -> Encoding # | |
ToJSON Float | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Float -> Encoding # toJSONList :: [Float] -> Value # toEncodingList :: [Float] -> Encoding # | |
ToJSON Int | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int -> Encoding # toJSONList :: [Int] -> Value # toEncodingList :: [Int] -> Encoding # | |
ToJSON Int8 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int8 -> Encoding # toJSONList :: [Int8] -> Value # toEncodingList :: [Int8] -> Encoding # | |
ToJSON Int16 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int16 -> Encoding # toJSONList :: [Int16] -> Value # toEncodingList :: [Int16] -> Encoding # | |
ToJSON Int32 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int32 -> Encoding # toJSONList :: [Int32] -> Value # toEncodingList :: [Int32] -> Encoding # | |
ToJSON Int64 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int64 -> Encoding # toJSONList :: [Int64] -> Value # toEncodingList :: [Int64] -> Encoding # | |
ToJSON Integer | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Integer -> Encoding # toJSONList :: [Integer] -> Value # toEncodingList :: [Integer] -> Encoding # | |
ToJSON Natural | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Natural -> Encoding # toJSONList :: [Natural] -> Value # toEncodingList :: [Natural] -> Encoding # | |
ToJSON Ordering | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Ordering -> Encoding # toJSONList :: [Ordering] -> Value # toEncodingList :: [Ordering] -> Encoding # | |
ToJSON Word | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word -> Encoding # toJSONList :: [Word] -> Value # toEncodingList :: [Word] -> Encoding # | |
ToJSON Word8 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word8 -> Encoding # toJSONList :: [Word8] -> Value # toEncodingList :: [Word8] -> Encoding # | |
ToJSON Word16 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word16 -> Encoding # toJSONList :: [Word16] -> Value # toEncodingList :: [Word16] -> Encoding # | |
ToJSON Word32 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word32 -> Encoding # toJSONList :: [Word32] -> Value # toEncodingList :: [Word32] -> Encoding # | |
ToJSON Word64 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word64 -> Encoding # toJSONList :: [Word64] -> Value # toEncodingList :: [Word64] -> Encoding # | |
ToJSON () | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: () -> Encoding # toJSONList :: [()] -> Value # toEncodingList :: [()] -> Encoding # | |
ToJSON DotNetTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DotNetTime -> Value # toEncoding :: DotNetTime -> Encoding # toJSONList :: [DotNetTime] -> Value # toEncodingList :: [DotNetTime] -> Encoding # | |
ToJSON Value | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Scientific | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Scientific -> Value # toEncoding :: Scientific -> Encoding # toJSONList :: [Scientific] -> Value # toEncodingList :: [Scientific] -> Encoding # | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # | |
ToJSON Number | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Number -> Encoding # toJSONList :: [Number] -> Value # toEncodingList :: [Number] -> Encoding # | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Text -> Encoding # toJSONList :: [Text] -> Value # toEncodingList :: [Text] -> Encoding # | |
ToJSON Day | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Day -> Encoding # toJSONList :: [Day] -> Value # toEncodingList :: [Day] -> Encoding # | |
ToJSON DiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: DiffTime -> Encoding # toJSONList :: [DiffTime] -> Value # toEncodingList :: [DiffTime] -> Encoding # | |
ToJSON SystemTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: SystemTime -> Value # toEncoding :: SystemTime -> Encoding # toJSONList :: [SystemTime] -> Value # toEncodingList :: [SystemTime] -> Encoding # | |
ToJSON UTCTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: UTCTime -> Encoding # toJSONList :: [UTCTime] -> Value # toEncodingList :: [UTCTime] -> Encoding # | |
ToJSON LocalTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: LocalTime -> Value # toEncoding :: LocalTime -> Encoding # toJSONList :: [LocalTime] -> Value # toEncodingList :: [LocalTime] -> Encoding # | |
ToJSON TimeOfDay | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: TimeOfDay -> Value # toEncoding :: TimeOfDay -> Encoding # toJSONList :: [TimeOfDay] -> Value # toEncodingList :: [TimeOfDay] -> Encoding # | |
ToJSON ZonedTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: ZonedTime -> Value # toEncoding :: ZonedTime -> Encoding # toJSONList :: [ZonedTime] -> Value # toEncodingList :: [ZonedTime] -> Encoding # | |
ToJSON CTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: CTime -> Encoding # toJSONList :: [CTime] -> Value # toEncodingList :: [CTime] -> Encoding # | |
ToJSON CalendarDiffDays | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffDays -> Value # toEncoding :: CalendarDiffDays -> Encoding # toJSONList :: [CalendarDiffDays] -> Value # toEncodingList :: [CalendarDiffDays] -> Encoding # | |
ToJSON CalendarDiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffTime -> Value # toEncoding :: CalendarDiffTime -> Encoding # toJSONList :: [CalendarDiffTime] -> Value # toEncodingList :: [CalendarDiffTime] -> Encoding # | |
ToJSON DayOfWeek | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DayOfWeek -> Value # toEncoding :: DayOfWeek -> Encoding # toJSONList :: [DayOfWeek] -> Value # toEncodingList :: [DayOfWeek] -> Encoding # | |
ToJSON IntSet | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntSet -> Encoding # toJSONList :: [IntSet] -> Value # toEncodingList :: [IntSet] -> Encoding # | |
ToJSON UUID | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: UUID -> Encoding # toJSONList :: [UUID] -> Value # toEncodingList :: [UUID] -> Encoding # | |
ToJSON Version | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Version -> Encoding # toJSONList :: [Version] -> Value # toEncodingList :: [Version] -> Encoding # | |
ToJSON NominalDiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: NominalDiffTime -> Value # toEncoding :: NominalDiffTime -> Encoding # toJSONList :: [NominalDiffTime] -> Value # toEncodingList :: [NominalDiffTime] -> Encoding # | |
ToJSON Void | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Void -> Encoding # toJSONList :: [Void] -> Value # toEncodingList :: [Void] -> Encoding # | |
ToJSON a => ToJSON [a] | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: [a] -> Encoding # toJSONList :: [[a]] -> Value # toEncodingList :: [[a]] -> Encoding # | |
ToJSON a => ToJSON (Maybe a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Maybe a -> Encoding # toJSONList :: [Maybe a] -> Value # toEncodingList :: [Maybe a] -> Encoding # | |
(ToJSON a, Integral a) => ToJSON (Ratio a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Ratio a -> Encoding # toJSONList :: [Ratio a] -> Value # toEncodingList :: [Ratio a] -> Encoding # | |
ToJSON a => ToJSON (Identity a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Identity a -> Value # toEncoding :: Identity a -> Encoding # toJSONList :: [Identity a] -> Value # toEncodingList :: [Identity a] -> Encoding # | |
ToJSON a => ToJSON (Array a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Array a -> Encoding # toJSONList :: [Array a] -> Value # toEncodingList :: [Array a] -> Encoding # | |
ToJSON a => ToJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: NonEmpty a -> Value # toEncoding :: NonEmpty a -> Encoding # toJSONList :: [NonEmpty a] -> Value # toEncodingList :: [NonEmpty a] -> Encoding # | |
(Vector Vector a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
ToJSON a => ToJSON (Dual a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Dual a -> Encoding # toJSONList :: [Dual a] -> Value # toEncodingList :: [Dual a] -> Encoding # | |
ToJSON a => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
ToJSON a => ToJSON (DList a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: DList a -> Encoding # toJSONList :: [DList a] -> Value # toEncodingList :: [DList a] -> Encoding # | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: First a -> Encoding # toJSONList :: [First a] -> Value # toEncodingList :: [First a] -> Encoding # | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: First a -> Encoding # toJSONList :: [First a] -> Value # toEncodingList :: [First a] -> Encoding # | |
ToJSON a => ToJSON (IntMap a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntMap a -> Encoding # toJSONList :: [IntMap a] -> Value # toEncodingList :: [IntMap a] -> Encoding # | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Last a -> Encoding # toJSONList :: [Last a] -> Value # toEncodingList :: [Last a] -> Encoding # | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Last a -> Encoding # toJSONList :: [Last a] -> Value # toEncodingList :: [Last a] -> Encoding # | |
ToJSON a => ToJSON (Max a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Max a -> Encoding # toJSONList :: [Max a] -> Value # toEncodingList :: [Max a] -> Encoding # | |
ToJSON a => ToJSON (Min a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Min a -> Encoding # toJSONList :: [Min a] -> Value # toEncodingList :: [Min a] -> Encoding # | |
ToJSON a => ToJSON (Option a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Option a -> Encoding # toJSONList :: [Option a] -> Value # toEncodingList :: [Option a] -> Encoding # | |
ToJSON a => ToJSON (Seq a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Seq a -> Encoding # toJSONList :: [Seq a] -> Value # toEncodingList :: [Seq a] -> Encoding # | |
ToJSON v => ToJSON (Tree v) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Tree v -> Encoding # toJSONList :: [Tree v] -> Value # toEncodingList :: [Tree v] -> Encoding # | |
ToJSON a => ToJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: WrappedMonoid a -> Value # toEncoding :: WrappedMonoid a -> Encoding # toJSONList :: [WrappedMonoid a] -> Value # toEncodingList :: [WrappedMonoid a] -> Encoding # | |
HasResolution a => ToJSON (Fixed a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Fixed a -> Encoding # toJSONList :: [Fixed a] -> Value # toEncodingList :: [Fixed a] -> Encoding # | |
ToJSON a => ToJSON (HashSet a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: HashSet a -> Value # toEncoding :: HashSet a -> Encoding # toJSONList :: [HashSet a] -> Value # toEncodingList :: [HashSet a] -> Encoding # | |
(Prim a, ToJSON a) => ToJSON (PrimArray a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: PrimArray a -> Value # toEncoding :: PrimArray a -> Encoding # toJSONList :: [PrimArray a] -> Value # toEncodingList :: [PrimArray a] -> Encoding # | |
ToJSON a => ToJSON (Set a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Set a -> Encoding # toJSONList :: [Set a] -> Value # toEncodingList :: [Set a] -> Encoding # | |
ToJSON a => ToJSON (SmallArray a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: SmallArray a -> Value # toEncoding :: SmallArray a -> Encoding # toJSONList :: [SmallArray a] -> Value # toEncodingList :: [SmallArray a] -> Encoding # | |
(PrimUnlifted a, ToJSON a) => ToJSON (UnliftedArray a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: UnliftedArray a -> Value # toEncoding :: UnliftedArray a -> Encoding # toJSONList :: [UnliftedArray a] -> Value # toEncodingList :: [UnliftedArray a] -> Encoding # | |
(Prim a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
(Storable a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Vector a -> Encoding # toJSONList :: [Vector a] -> Value # toEncodingList :: [Vector a] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (Either a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Either a b -> Value # toEncoding :: Either a b -> Encoding # toJSONList :: [Either a b] -> Value # toEncodingList :: [Either a b] -> Encoding # | |
(ToJSON a, ToJSON b) => ToJSON (a, b) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: (a, b) -> Encoding # toJSONList :: [(a, b)] -> Value # toEncodingList :: [(a, b)] -> Encoding # | |
(ToJSON v, ToJSONKey k) => ToJSON (Map k v) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Map k v -> Encoding # toJSONList :: [Map k v] -> Value # toEncodingList :: [Map k v] -> Encoding # | |
(ToJSON v, ToJSONKey k) => ToJSON (HashMap k v) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: HashMap k v -> Value # toEncoding :: HashMap k v -> Encoding # toJSONList :: [HashMap k v] -> Value # toEncodingList :: [HashMap k v] -> Encoding # | |
ToJSON (Proxy a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Proxy a -> Encoding # toJSONList :: [Proxy a] -> Value # toEncodingList :: [Proxy a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c) => ToJSON (a, b, c) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c) -> Value # toEncoding :: (a, b, c) -> Encoding # toJSONList :: [(a, b, c)] -> Value # toEncodingList :: [(a, b, c)] -> Encoding # | |
ToJSON a => ToJSON (Const a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Const a b -> Value # toEncoding :: Const a b -> Encoding # toJSONList :: [Const a b] -> Value # toEncodingList :: [Const a b] -> Encoding # | |
ToJSON b => ToJSON (Tagged a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Tagged a b -> Value # toEncoding :: Tagged a b -> Encoding # toJSONList :: [Tagged a b] -> Value # toEncodingList :: [Tagged a b] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d) => ToJSON (a, b, c, d) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d) -> Value # toEncoding :: (a, b, c, d) -> Encoding # toJSONList :: [(a, b, c, d)] -> Value # toEncodingList :: [(a, b, c, d)] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Product f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Product f g a -> Value # toEncoding :: Product f g a -> Encoding # toJSONList :: [Product f g a] -> Value # toEncodingList :: [Product f g a] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Sum f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Sum f g a -> Value # toEncoding :: Sum f g a -> Encoding # toJSONList :: [Sum f g a] -> Value # toEncodingList :: [Sum f g a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e) => ToJSON (a, b, c, d, e) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e) -> Value # toEncoding :: (a, b, c, d, e) -> Encoding # toJSONList :: [(a, b, c, d, e)] -> Value # toEncodingList :: [(a, b, c, d, e)] -> Encoding # | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Compose f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Compose f g a -> Value # toEncoding :: Compose f g a -> Encoding # toJSONList :: [Compose f g a] -> Value # toEncodingList :: [Compose f g a] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f) => ToJSON (a, b, c, d, e, f) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f) -> Value # toEncoding :: (a, b, c, d, e, f) -> Encoding # toJSONList :: [(a, b, c, d, e, f)] -> Value # toEncodingList :: [(a, b, c, d, e, f)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g) => ToJSON (a, b, c, d, e, f, g) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g) -> Value # toEncoding :: (a, b, c, d, e, f, g) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h) => ToJSON (a, b, c, d, e, f, g, h) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h) -> Value # toEncoding :: (a, b, c, d, e, f, g, h) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i) => ToJSON (a, b, c, d, e, f, g, h, i) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j) => ToJSON (a, b, c, d, e, f, g, h, i, j) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k) => ToJSON (a, b, c, d, e, f, g, h, i, j, k) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Encoding # | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n, ToJSON o) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Value # toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Encoding # toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Value # toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Encoding # |
Instances
KeyValue Series | |
Defined in Data.Aeson.Types.ToJSON | |
KeyValue Object | |
Defined in Data.Aeson.Types.ToJSON | |
KeyValue Pair | |
Defined in Data.Aeson.Types.ToJSON |
Generic JSON classes and options
class GFromJSON arity (f :: Type -> Type) #
Minimal complete definition
gParseJSON
Instances
GFromJSON One Par1 | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs One a -> Value -> Parser (Par1 a) | |
GFromJSON arity (V1 :: Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs arity a -> Value -> Parser (V1 a) | |
FromJSON1 f => GFromJSON One (Rec1 f) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs One a -> Value -> Parser (Rec1 f a) | |
(GFromJSON' arity a, Datatype d) => GFromJSON arity (D1 d a) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs arity a0 -> Value -> Parser (D1 d a a0) | |
FromJSON a => GFromJSON arity (K1 i a :: Type -> Type) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs arity a0 -> Value -> Parser (K1 i a a0) | |
GFromJSON arity a => GFromJSON arity (M1 i c a) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs arity a0 -> Value -> Parser (M1 i c a a0) | |
(FromJSON1 f, GFromJSON One g) => GFromJSON One (f :.: g) | |
Defined in Data.Aeson.Types.FromJSON Methods gParseJSON :: Options -> FromArgs One a -> Value -> Parser ((f :.: g) a) |
type GToEncoding = GToJSON Encoding #
genericToJSON :: (Generic a, GToJSON Value Zero (Rep a)) => Options -> a -> Value #
genericToEncoding :: (Generic a, GToJSON Encoding Zero (Rep a)) => Options -> a -> Encoding #
genericParseJSON :: (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a #
defaultOptions :: Options #
Inspecting Value
s
Value
swithNumber :: String -> (Number -> Parser a) -> Value -> Parser a Source #
Deprecated: Use withScientific instead
applies withNumber
expected f valuef
to the Number
when value
is a Number
and fails using
otherwise.typeMismatch
expected
withScientific :: String -> (Scientific -> Parser a) -> Value -> Parser a #
Constructors and accessors
Instances
Semigroup Series | |
Monoid Series | |
KeyValue Series | |
Defined in Data.Aeson.Types.ToJSON | |
e ~ Encoding => KeyValuePair e Series | |
Defined in Data.Aeson.Types.ToJSON | |
a ~ Value => FromPairs (Encoding' a) Series | |
Defined in Data.Aeson.Types.ToJSON |
(.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a) Source #
Retrieve the value associated with the given key of an Value
.
The result is Nothing
if the key is not present, 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.
This operator is consistent in aeson >=0.7 && <0.11