úÎ-ª)x"      !None A JSON value. Null (void, unit, ()). False. True. A JSON Array, represented as " of Values. A JSON Object, represented as #. "A JSON Number, represented by two $s in  exponontial form.  Number n e is the same as  {n}e{exp},  that is  n * 10 ^ e&. This allows for arbitrary precision  fixed point rationals. See Convert for easy conversions. 7A JSON String, represented as ordinary Haskell String. A top-level JSON object. ,Merely a wrapper that ensures that no other s  but  and  reside at the top-level.     None %&'()*+,-./01234     %&'()*+,-./01234None56789:;  56789:;portable experimental0Julian Fleischer <julian.fleischer@fu-berlin.de>None5Parse a String for JSON data or return a ParseError. CParses a top-level JSON object, returning Just a Value or Nothing. Purely Monadic version of . ,Unwraps a top-level JSON object to a Value. <=>?@ABCDEFGHIJKLMNO  <=>?@ABCDEFGHIJKLMNONoneA QuasiQuoter on raw strings. The definition is basically:  s = QuasiQuoter { ' quoteExp = return . LitE . StringL  } 5A QuasiQuoter which includes raw strings from files. 3The following example will include the contents of file.txt  as a String.   let str = [sF|file.txt|] 9Note that every character inside the brackets is treated # as part of the file name, that is [sF| file.txt |] is not A the same as the above example (it will try to find a file which " name includes space characters). 3A QuasiQuoter which includes JSON data from files. 3The following example will include the contents of  data.json  as .   let str = [jsonF|data.json|] 9Note that every character inside the brackets is treated # as part of the file name, that is [jsonF| data.json |] is not A the same as the above example (it will try to find a file which " name includes space characters). (A QuasiQuoter which includes JSON data. The type of the expression is . !EA QuasiQuoter which queries a json object using JavaScript notation. 1Suppose obj contains a json object of type JSON:   [jsq| obj.prop.list[3] |] @The above will query the object in obj as if it was JavaScript. +The type of the expression is polymorphic: Convert a => a. 9You will need to specify the type of the query, like so:  % [jsq| obj.prop.list |] :: [Integer] 0For possible conversions, see the instances for  .  P!Q !!  P!QR      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK%LMNOPQRSTUVWXYZ[\dead-simple-json-0.1.2Text.DeadSimpleJSON.TypesText.DeadSimpleJSON.ConvertText.DeadSimpleJSON.QueryText.DeadSimpleJSONText.DeadSimpleJSON.THValueNullFalseTrueArrayObjectNumberStringJSONConvertconvertconvert'toJSONQueryReadIndexFieldqueryquery'queryVqueryV'?mkQuerymkQuery'parseparse'parseMtopssFjsonFjsonjsqvector-0.10.0.1 Data.VectorVectorcontainers-0.5.0.0 Data.Map.BaseMap integer-gmpGHC.Integer.TypeIntegerintdef$fConvertInt64$fConvertInt32$fConvertInt16 $fConvertInt8 $fConvertInt$fConvertInteger$fConvertRatio$fConvertFloat$fConvertDouble $fConvert[] $fConvert[]0 $fConvertBool$fConvertValue$fConvertMaybeParseridentindexpathelementmkPath buildQuerywrite writeNumber writeString writeArray writeObjectjson'value jsonString stringChar escapedCharnumbernegativeNumbernonNegativeNumbermkNumberobjectkeyValuearray $fReadJSON $fShowJSON jsonQuoter jsqQuoter