-- 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.3.0
-- | A simple wrapper around the json-b library which presents values
-- inside Objects.
module Data.Object.Json
-- | 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
class (Eq a) => IsJsonScalar a
fromJsonScalar :: (IsJsonScalar a) => JsonScalar -> a
toJsonScalar :: (IsJsonScalar a) => a -> JsonScalar
toJsonObject :: (ConvertSuccess k ByteString) => (IsJsonScalar v) => Object k v -> JsonObject
fromJsonObject :: (ConvertSuccess ByteString k) => (IsJsonScalar v) => JsonObject -> Object k v
-- | Encode a JsonObject into a lazy bytestring.
encode :: (ConvertSuccess k ByteString, IsJsonScalar v) => Object k v -> ByteString
encodeFile :: (ConvertSuccess k ByteString, IsJsonScalar v) => FilePath -> Object k v -> IO ()
-- | Decode a lazy bytestring into a JsonObject.
decode :: (Failure JsonDecodeError m) => (ConvertSuccess ByteString k) => (IsJsonScalar v) => ByteString -> m (Object k v)
decodeFile :: (Failure JsonDecodeError m) => (ConvertSuccess ByteString k) => (IsJsonScalar v) => FilePath -> IO (m (Object k v))
instance Typeable JsonDecodeError
instance Typeable JsonScalar
instance Show JsonDecodeError
instance Eq JsonScalar
instance Show JsonScalar
instance Read JsonScalar
instance Data JsonScalar
instance Exception JsonDecodeError
instance IsJsonScalar ByteString
instance IsJsonScalar ByteString
instance IsJsonScalar [Char]
instance IsJsonScalar Text
instance IsJsonScalar Text
instance IsJsonScalar JsonScalar