-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | High-performance JSON parser and encoder -- -- This library parses JSON into a Value type that is consistent -- with the ABNF described in RFC 7159. The parser is about six -- times faster than the parser that aeson provides. This parser -- is however, non-resumable, so if resumable parsing is important, -- aeson should be preferred. -- -- This library does not include any functions or typeclasses to help -- users marshal Value to their application-specific data types. -- Such functions and typeclasses are outside the scope of this library. -- If anyone writes a library that offers users these conveniences open a -- issue so that the json-syntax documentation can point users -- to it. @package json-syntax @version 0.1.2.0 module Json -- | The JSON syntax tree described by the ABNF in RFC 7159. Notable design -- decisions include: -- -- data Value Object :: !Chunks Member -> Value Array :: !Chunks Value -> Value String :: {-# UNPACK #-} !ShortText -> Value Number :: {-# UNPACK #-} !Scientific -> Value Null :: Value True :: Value False :: Value -- | A key-value pair in a JSON object. The name of this type is taken from -- section 4 of RFC 7159. data Member Member :: {-# UNPACK #-} !ShortText -> !Value -> Member [key] :: Member -> {-# UNPACK #-} !ShortText [value] :: Member -> !Value -- | Exceptions that can happen while parsing JSON. Do not pattern match on -- values of this type. New data constructors may be added at any time -- without a major version bump. data SyntaxException EmptyInput :: SyntaxException ExpectedColon :: SyntaxException ExpectedCommaOrRightBracket :: SyntaxException ExpectedFalse :: SyntaxException ExpectedNull :: SyntaxException ExpectedQuote :: SyntaxException ExpectedQuoteOrRightBrace :: SyntaxException ExpectedTrue :: SyntaxException IncompleteArray :: SyntaxException IncompleteEscapeSequence :: SyntaxException IncompleteObject :: SyntaxException IncompleteString :: SyntaxException InvalidEscapeSequence :: SyntaxException InvalidLeader :: SyntaxException InvalidNumber :: SyntaxException LeadingZero :: SyntaxException UnexpectedLeftovers :: SyntaxException -- | Decode a JSON syntax tree from a byte sequence. decode :: Bytes -> Either SyntaxException Value -- | Encode a JSON syntax tree. encode :: Value -> Builder -- | Infix pattern synonym for Member. pattern (:->) :: ShortText -> Value -> Member -- | Construct a JSON object with one member. object1 :: Member -> Value -- | Construct a JSON object with two members. object2 :: Member -> Member -> Value -- | Construct a JSON object with three members. object3 :: Member -> Member -> Member -> Value -- | Construct a JSON object with four members. object4 :: Member -> Member -> Member -> Member -> Value -- | Construct a JSON object with five members. object5 :: Member -> Member -> Member -> Member -> Member -> Value -- | Construct a JSON object with six members. object6 :: Member -> Member -> Member -> Member -> Member -> Member -> Value -- | Construct a JSON object with seven members. object7 :: Member -> Member -> Member -> Member -> Member -> Member -> Member -> Value -- | Construct a JSON object with eight members. object8 :: Member -> Member -> Member -> Member -> Member -> Member -> Member -> Member -> Value instance GHC.Exception.Type.Exception Json.SyntaxException instance GHC.Show.Show Json.SyntaxException instance GHC.Classes.Eq Json.SyntaxException instance GHC.Show.Show Json.Value instance GHC.Classes.Eq Json.Value instance GHC.Show.Show Json.Member instance GHC.Classes.Eq Json.Member