sig
type t =
Null
| True
| False
| String of string
| Number of string
| Int of int
| Float of float
| Array of Json.t list
| Assoc of (string * Json.t) list
val equal : Json.t -> Json.t -> bool
val compare : Json.t -> Json.t -> int
val pp : Format.formatter -> Json.t -> unit
exception Error of string * int * string
val of_lexbuf : Lexing.lexbuf -> Json.t
val of_channel : Pervasives.in_channel -> Json.t
val of_string : string -> Json.t
val of_file : string -> Json.t
val to_string : ?pretty:bool -> Json.t -> string
val to_buffer : ?pretty:bool -> Buffer.t -> Json.t -> unit
val to_channel : ?pretty:bool -> Pervasives.out_channel -> Json.t -> unit
val to_file : ?pretty:bool -> string -> Json.t -> unit
val bool : Json.t -> bool
val int : Json.t -> int
val float : Json.t -> float
val array : Json.t -> Json.t array
val list : Json.t -> Json.t list
val fold : (string -> Json.t -> 'a -> 'a) -> Json.t -> 'a -> 'a
val field : string -> Json.t -> Json.t
end