Data.Argonaut
- Package
- purescript-argonaut
- Repository
- purescript-contrib/purescript-argonaut
Re-exports from Data.Argonaut.Core
#jsonSingletonArray Source
jsonSingletonArray :: Json -> Json
#fromString Source
fromString :: String -> Json
#fromNumber Source
fromNumber :: Number -> Json
#fromBoolean Source
fromBoolean :: Boolean -> Json
#caseJsonString Source
caseJsonString :: forall a. a -> (String -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was a String
, and a default value for all other cases.
#caseJsonObject Source
caseJsonObject :: forall a. a -> (Object Json -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was an Object
, and a default value for all other cases.
#caseJsonNumber Source
caseJsonNumber :: forall a. a -> (Number -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was a Number
, and a default value for all other cases.
#caseJsonNull Source
caseJsonNull :: forall a. a -> (Unit -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was null, and a default value for all other cases.
#caseJsonBoolean Source
caseJsonBoolean :: forall a. a -> (Boolean -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was a Boolean
, and a default value for all other cases.
#caseJsonArray Source
caseJsonArray :: forall a. a -> (Array Json -> a) -> Json -> a
A simpler version of caseJson
which accepts a callback for when the
Json
argument was a Array Json
, and a default value for all other cases.
Re-exports from Data.Argonaut.Decode
#DecodeJson Source
class DecodeJson a where
Members
decodeJson :: Json -> Either String a
Instances
(DecodeJson a) => DecodeJson (Maybe a)
(DecodeJson a, DecodeJson b) => DecodeJson (Tuple a b)
(DecodeJson a, DecodeJson b) => DecodeJson (Either a b)
DecodeJson Unit
DecodeJson Boolean
DecodeJson Number
DecodeJson Int
DecodeJson String
DecodeJson Json
(DecodeJson a) => DecodeJson (NonEmpty Array a)
(DecodeJson a) => DecodeJson (NonEmpty List a)
DecodeJson CodePoint
(DecodeJson a) => DecodeJson (Object a)
(DecodeJson a) => DecodeJson (Array a)
(DecodeJson a) => DecodeJson (List a)
(Ord a, DecodeJson a, DecodeJson b) => DecodeJson (Map a b)
DecodeJson Void
(GDecodeJson row list, RowToList row list) => DecodeJson (Record row)
#getFieldOptionalDeprecated Source
getFieldOptionalDeprecated :: forall a. Warn (Text "`.??` is deprecated, use `.:!` or `.:?` instead") => DecodeJson a => Object Json -> String -> Either String (Maybe a)
#getFieldOptional' Source
getFieldOptional' :: forall a. DecodeJson a => Object Json -> String -> Either String (Maybe a)
Attempt to get the value for a given key on an Object Json
.
The result will be Right Nothing
if the key and value are not present,
or if the key is present and the value is null
.
Use this accessor if the key and value are optional in your object.
If the key and value are mandatory, use getField
(.:
) instead.
#getFieldOptional Source
getFieldOptional :: forall a. DecodeJson a => Object Json -> String -> Either String (Maybe a)
Attempt to get the value for a given key on an Object Json
.
The result will be Right Nothing
if the key and value are not present,
but will fail if the key is present but the value cannot be converted to the right type.
This function will treat null
as a value and attempt to decode it into your desired type.
If you would like to treat null
values the same as absent values, use
getFieldOptional
(.:?
) instead.
#getFieldDeprecated Source
getFieldDeprecated :: forall a. Warn (Text "`.?` is deprecated, use `.:` instead") => DecodeJson a => Object Json -> String -> Either String a
#defaultField Source
defaultField :: forall a. Either String (Maybe a) -> a -> Either String a
Helper for use in combination with .:?
to provide default values for optional
Object Json
fields.
Example usage:
newtype MyType = MyType
{ foo :: String
, bar :: Maybe Int
, baz :: Boolean
}
instance decodeJsonMyType :: DecodeJson MyType where
decodeJson json = do
x <- decodeJson json
foo <- x .: "foo" -- mandatory field
bar <- x .:? "bar" -- optional field
baz <- x .:? "baz" .!= false -- optional field with default value of `false`
pure $ MyType { foo, bar, baz }
#(.??) Source
Operator alias for Data.Argonaut.Decode.Combinators.getFieldOptionalDeprecated (non-associative / precedence 7)
#(.?=) Source
Operator alias for Data.Argonaut.Decode.Combinators.defaultFieldDeprecated (non-associative / precedence 6)
#(.?) Source
Operator alias for Data.Argonaut.Decode.Combinators.getFieldDeprecated (non-associative / precedence 7)
#(.:?) Source
Operator alias for Data.Argonaut.Decode.Combinators.getFieldOptional' (non-associative / precedence 7)
#(.:!) Source
Operator alias for Data.Argonaut.Decode.Combinators.getFieldOptional (non-associative / precedence 7)
#(.:) Source
Operator alias for Data.Argonaut.Decode.Combinators.getField (non-associative / precedence 7)
#(.!=) Source
Operator alias for Data.Argonaut.Decode.Combinators.defaultField (non-associative / precedence 6)
Re-exports from Data.Argonaut.Encode
#EncodeJson Source
class EncodeJson a where
Members
encodeJson :: a -> Json
Instances
(EncodeJson a) => EncodeJson (Maybe a)
(EncodeJson a, EncodeJson b) => EncodeJson (Tuple a b)
(EncodeJson a, EncodeJson b) => EncodeJson (Either a b)
EncodeJson Unit
EncodeJson Boolean
EncodeJson Number
EncodeJson Int
EncodeJson String
EncodeJson Json
EncodeJson CodePoint
(EncodeJson a) => EncodeJson (NonEmpty Array a)
(EncodeJson a) => EncodeJson (NonEmpty List a)
EncodeJson Char
(EncodeJson a) => EncodeJson (Array a)
(EncodeJson a) => EncodeJson (List a)
(EncodeJson a) => EncodeJson (Object a)
(Ord a, EncodeJson a, EncodeJson b) => EncodeJson (Map a b)
EncodeJson Void
(GEncodeJson row list, RowToList row list) => EncodeJson (Record row)
#extendOptional Source
extendOptional :: forall a. EncodeJson a => Maybe (Tuple String Json) -> a -> Json
The named implementation of the (~>?)
operator.
#assocOptional Source
assocOptional :: forall a. EncodeJson a => String -> Maybe a -> Maybe (Tuple String Json)
The named implementation of the (:=?)
operator.
#(~>?) Source
Operator alias for Data.Argonaut.Encode.Combinators.extendOptional (right-associative / precedence 6)
Optionally extends a Json object with an optional Tuple String Json
property.
#(~>) Source
Operator alias for Data.Argonaut.Encode.Combinators.extend (right-associative / precedence 6)
Extends a Json object with a Tuple String Json
property.
#(:=?) Source
Operator alias for Data.Argonaut.Encode.Combinators.assocOptional (non-associative / precedence 7)
Creates an optional Tuple String Json
entry, representing an optional key/value pair for an object.
#(:=) Source
Operator alias for Data.Argonaut.Encode.Combinators.assoc (non-associative / precedence 7)
Creates a Tuple String Json
entry, representing a key/value pair for an object.
Re-exports from Data.Argonaut.JCursor
#primToJson Source
primToJson :: JsonPrim -> Json
#inferEmpty Source
inferEmpty :: JCursor -> Json
Re-exports from Data.Argonaut.Parser
Re-exports from Data.Argonaut.Prisms
Re-exports from Data.Argonaut.Traversals
- Modules
- Data.
Argonaut