Provides a datatype representing data in JavaScript Object Notation as well as traversal, read and show functions for that datatype.
See http://www.crockford.com/JSON/ for further information.
Author: Sebastian Fischer
| trJson
                  ::  ([(String,a)] -> a) -> ([a] -> a) -> (String -> a) -> (Int -> a) -> (Bool -> a) -> a -> Json -> aUniversal transformation for JSON values. | 
| showJson
                  ::  Json -> StringTransforms a JSON value into its String representation. | 
| readJson
                  ::  String -> JsonParses a JSON value from its string representation. | 
Constructors:
Object
                    ::  [(String,Json)] -> Json
              Array
                    ::  [Json] -> Json
              String
                    ::  String -> Json
              Int
                    ::  Int -> Json
              Bool
                    ::  Bool -> Json
              Null
                    :: Json