sig
type json =
[ `Assoc of (string * Json.json) list
| `Bool of bool
| `Float of float
| `Int of int
| `List of Json.json list
| `Null
| `String of string ]
type t = Json.json
val equal : Json.t -> Json.t -> bool
val compare : Json.t -> Json.t -> int
val pp : Format.formatter -> Json.t -> unit
val pp_dump : Format.formatter -> Json.t -> unit
exception Error of Filepath.Normalized.t * int * string
val of_bool : bool -> Json.t
val of_int : int -> Json.t
val of_string : string -> Json.t
val of_float : float -> Json.t
val of_list : Json.t list -> Json.t
val of_array : Json.t array -> Json.t
val of_fields : (string * Json.t) list -> Json.t
val load_lexbuf : Lexing.lexbuf -> Json.t
val load_channel : ?file:string -> Pervasives.in_channel -> Json.t
val load_string : string -> Json.t
val load_file : string -> Json.t
val save_string : ?pretty:bool -> Json.t -> string
val save_buffer : ?pretty:bool -> Buffer.t -> Json.t -> unit
val save_channel : ?pretty:bool -> Pervasives.out_channel -> Json.t -> unit
val save_formatter : ?pretty:bool -> Format.formatter -> Json.t -> unit
val save_file : ?pretty:bool -> string -> Json.t -> unit
val bool : Json.t -> bool
val int : Json.t -> int
val string : Json.t -> string
val float : Json.t -> float
val array : Json.t -> Json.t array
val list : Json.t -> Json.t list
val assoc : Json.t -> (string * Json.t) list
val fold : (string -> Json.t -> 'a -> 'a) -> Json.t -> 'a -> 'a
val field : string -> Json.t -> Json.t
end