-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Serialize JSON data to/from Haskell using the data-object library.
--
-- Serialize JSON data to/from Haskell using the data-object library.
@package data-object-json
@version 0.0.0
-- | A simple wrapper around the json-b library which presents values
-- inside Objects.
module Data.Object.Json
-- | A fully formed JSON document.
newtype JsonDoc
JsonDoc :: ByteString -> JsonDoc
unJsonDoc :: JsonDoc -> ByteString
-- | Matches the scalar data types used in json-b so we can have proper
-- mapping between the two libraries.
data JsonScalar
JsonString :: ByteString -> JsonScalar
JsonNumber :: Rational -> JsonScalar
JsonBoolean :: Bool -> JsonScalar
JsonNull :: JsonScalar
-- | Meant to match closely with the JSON data type. Therefore, uses
-- strict byte strings for keys and the JsonScalar type for
-- scalars.
type JsonObject = Object ByteString JsonScalar
readJsonDoc :: FilePath -> IO JsonDoc
writeJsonDoc :: FilePath -> JsonDoc -> IO ()
-- | Error type for JSON decoding errors.
newtype JsonDecodeError
JsonDecodeError :: String -> JsonDecodeError
-- | Decode a lazy bytestring into a JsonObject.
decode :: (MonadFailure JsonDecodeError m) => ByteString -> m JsonObject
-- | Encode a JsonObject into a lazy bytestring.
encode :: JsonObject -> ByteString
-- | convertSuccess specialized for JsonObjects
toJsonObject :: (ConvertSuccess a JsonObject) => a -> JsonObject
-- | convertAttempt specialized for JsonObjects
fromJsonObject :: (ConvertAttempt JsonObject a) => JsonObject -> Attempt a
instance Typeable JsonDecodeError
instance Show JsonDecodeError
instance ConvertAttempt JsonDoc JsonObject
instance ConvertSuccess JsonObject JsonDoc
instance Exception JsonDecodeError
instance ConvertAttempt JsonObject JSON
instance ConvertSuccess JSON JsonObject
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Object ByteString JsonScalar)]
instance ConvertSuccess [(Text, Object ByteString JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, Object ByteString JsonScalar)]
instance ConvertSuccess [(ByteString, Object ByteString JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Object ByteString JsonScalar)]
instance ConvertSuccess [(String, Object ByteString JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Object Text JsonScalar)]
instance ConvertSuccess [(Text, Object Text JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object Text JsonScalar)
instance ConvertSuccess (Object Text JsonScalar) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object Text JsonScalar]
instance ConvertSuccess [Object Text JsonScalar] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, JsonScalar)]
instance ConvertSuccess [(Text, JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Object Text Text)]
instance ConvertSuccess [(Text, Object Text Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object Text Text)
instance ConvertSuccess (Object Text Text) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object Text Text]
instance ConvertSuccess [Object Text Text] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Text)]
instance ConvertSuccess [(Text, Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Object Text ByteString)]
instance ConvertSuccess [(Text, Object Text ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object Text ByteString)
instance ConvertSuccess (Object Text ByteString) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object Text ByteString]
instance ConvertSuccess [Object Text ByteString] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, ByteString)]
instance ConvertSuccess [(Text, ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, Object Text String)]
instance ConvertSuccess [(Text, Object Text String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object Text String)
instance ConvertSuccess (Object Text String) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object Text String]
instance ConvertSuccess [Object Text String] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(Text, String)]
instance ConvertSuccess [(Text, String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object ByteString JsonScalar]
instance ConvertSuccess [Object ByteString JsonScalar] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, JsonScalar)]
instance ConvertSuccess [(ByteString, JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, Object ByteString Text)]
instance ConvertSuccess [(ByteString, Object ByteString Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object ByteString Text)
instance ConvertSuccess (Object ByteString Text) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object ByteString Text]
instance ConvertSuccess [Object ByteString Text] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, Text)]
instance ConvertSuccess [(ByteString, Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, Object ByteString ByteString)]
instance ConvertSuccess [(ByteString, Object ByteString ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object ByteString ByteString)
instance ConvertSuccess (Object ByteString ByteString) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object ByteString ByteString]
instance ConvertSuccess [Object ByteString ByteString] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, ByteString)]
instance ConvertSuccess [(ByteString, ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, Object ByteString String)]
instance ConvertSuccess [(ByteString, Object ByteString String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object ByteString String)
instance ConvertSuccess (Object ByteString String) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object ByteString String]
instance ConvertSuccess [Object ByteString String] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(ByteString, String)]
instance ConvertSuccess [(ByteString, String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Object String JsonScalar)]
instance ConvertSuccess [(String, Object String JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object String JsonScalar)
instance ConvertSuccess (Object String JsonScalar) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object String JsonScalar]
instance ConvertSuccess [Object String JsonScalar] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, JsonScalar)]
instance ConvertSuccess [(String, JsonScalar)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Object String Text)]
instance ConvertSuccess [(String, Object String Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object String Text)
instance ConvertSuccess (Object String Text) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object String Text]
instance ConvertSuccess [Object String Text] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Text)]
instance ConvertSuccess [(String, Text)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Object String ByteString)]
instance ConvertSuccess [(String, Object String ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object String ByteString)
instance ConvertSuccess (Object String ByteString) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object String ByteString]
instance ConvertSuccess [Object String ByteString] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, ByteString)]
instance ConvertSuccess [(String, ByteString)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, Object String String)]
instance ConvertSuccess [(String, Object String String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) (Object String String)
instance ConvertSuccess (Object String String) (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Object String String]
instance ConvertSuccess [Object String String] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [(String, String)]
instance ConvertSuccess [(String, String)] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [JsonScalar]
instance ConvertSuccess [JsonScalar] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) JsonScalar
instance ConvertSuccess JsonScalar (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [Text]
instance ConvertSuccess [Text] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) Text
instance ConvertSuccess Text (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [ByteString]
instance ConvertSuccess [ByteString] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) ByteString
instance ConvertSuccess ByteString (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) [String]
instance ConvertSuccess [String] (Object ByteString JsonScalar)
instance ConvertAttempt (Object ByteString JsonScalar) String
instance ConvertSuccess String (Object ByteString JsonScalar)
instance ConvertAttempt JsonScalar Text
instance ConvertAttempt JsonScalar ByteString
instance ConvertAttempt JsonScalar String
instance ConvertAttempt Text JsonScalar
instance ConvertAttempt ByteString JsonScalar
instance ConvertAttempt String JsonScalar
instance Show JsonDoc
instance Eq JsonDoc
instance ConvertSuccess ByteString JsonScalar
instance ConvertSuccess JsonScalar ByteString
instance ConvertSuccess String JsonScalar
instance ConvertSuccess JsonScalar String
instance ConvertSuccess Text JsonScalar
instance ConvertSuccess JsonScalar Text