A very fast buffer-builder-based JSON encoder for Aeson.
The whole library is a single Data.BufferBuilder.Json.ToJson instance for Data.Aeson.Value.
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE OverloadedLists #-}
import Data.Aeson (object, (.=), Value (..))
import Data.BufferBuilder.Json (encodeJson)
import Data.BufferBuilder.Aeson ()
import qualified Data.ByteString as BS
stuff :: Value
stuff = Array
[ object
[ "name" .= ("eggs" :: String)
, "price" .= (3.141592 :: Double)
]
, object
[ "name" .= ("cheese" :: String)
, "price" .= (0.57721 :: Double)
]
]
main :: IO ()
main = do
BS.putStrLn $ encodeJson stuff