{-# LANGUAGE MultiParamTypeClasses #-} module HaskellWorks.Data.Json.Value where import Data.Map data JsonValue s n = JsonString s | JsonNumber n | JsonObject (Map s (JsonValue s n)) | JsonArray [JsonValue s n] | JsonBool Bool | JsonNull class JsonValueAt s n a where jsonValueAt :: a -> Maybe (JsonValue s n)