{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies #-}
-- | Pretty-printing JSON values.
module Text.JSON.JSONPrint
(
JSONPrint(..)
) where
import Data.ByteString
import Text.JSONb
import qualified Text.JSON as J
import Text.JSON.Pretty
-- | Pretty-printing JSON values.
class JSONPrint j s | j -> s where
-- | Print the given JSON value to a pretty-printed value.
printJSON ::
j -- ^ The JSON value.
-> s -- ^ The pretty-printed result.
instance JSONPrint JSON ByteString where
printJSON =
encode Compact
instance JSONPrint J.JSValue [Char] where
printJSON =
render . pp_value