@@ -40,11 +40,10 @@ import qualified Data.ByteString.Unsafe as B
40-- an array.
40-- an array.
41json :: Parser Value
41json :: Parser Value
43− c <- skipSpace *> anyChar
43+ c <- skipSpace *> satisfy (`B8.elem` "{[")
44− case c of
44+ if c == '{'
45− '{' -> object_
45+ then object_
46− '[' -> array_
46+ else array_
47− _ -> fail "root value is not an object or array"
49object_ :: Parser Value
48object_ :: Parser Value
50object_ = {-# SCC "object_" #-} do
49object_ = {-# SCC "object_" #-} do