module Json:sig..end
Json Library
Remarks:
Number can be used to encode non OCaml-primitive numbers,
for instance Zarith.typejson =[ `Assoc of (string * json) list
| `Bool of bool
| `Float of float
| `Int of int
| `List of json list
| `Null
| `String of string ]
Json Objects
Same type than Yojson.Basic.json
typet =json
val equal : t -> t -> boolStdlib
val compare : t -> t -> intStdlib
val pp : Stdlib.Format.formatter -> t -> unit
val pp_dump : Stdlib.Format.formatter -> t -> unitwithout formatting
exception Error of Filepath.Normalized.t * int * string
file, line, message
val of_bool : bool -> t
val of_int : int -> t
val of_string : string -> t
val of_float : float -> t
val of_list : t list -> t
val of_array : t array -> t
val of_fields : (string * t) list -> tParsing raise Error in case of error.
val load_lexbuf : Stdlib.Lexing.lexbuf -> tConsumes the entire buffer.
val load_channel : ?file:string -> Stdlib.in_channel -> tParses the stream until EOF.
val load_string : string -> tParses the Json in the string.
val load_file : string -> tMay also raise system exception.
Printers use formatting unless ~pretty:false.
val save_string : ?pretty:bool -> t -> string
val save_buffer : ?pretty:bool -> Stdlib.Buffer.t -> t -> unit
val save_channel : ?pretty:bool -> Stdlib.out_channel -> t -> unit
val save_formatter : ?pretty:bool -> Stdlib.Format.formatter -> t -> unit
val save_file : ?pretty:bool -> string -> t -> unitAccessors raise exception Invalid_argument in case of wrong
format.
val bool : t -> boolExtract True and False only.
Invalid_argument when the conversion fails.val int : t -> intConvert Null, Int, Float, Number and String to an int.
Floats are truncated with int_of_float and Null to 0.
Invalid_argument when the conversion fails.val string : t -> stringConvert Null, Int, Float, Number and String to a string.
Floats are truncated with string_of_float and Null to "".
Invalid_argument when the conversion fails.val float : t -> floatConvert Null, Int, Float, Number and String to float and Null to 0.0.
Invalid_argument when the conversion fails.val array : t -> t arrayExtract the array of an Array object.
Null is considered an empty array.
Invalid_argument if the object is not an array.val list : t -> t listExtract the list of an Array object.
Null is considered an empty list.
Invalid_argument if the object is not a list.val assoc : t -> (string * t) listExtract the list of an Assoc object.
Null is considered an empty assoc.
Invalid_argument if the object is not a list.val fold : (string -> t -> 'a -> 'a) -> t -> 'a -> 'aFold over all fields of the object.
Null is considered an empty object.
Typical usage is fold M.add t M.empty where M=Map.Make(String).
Invalid_argument if the object is not an Assoc or Null object.val field : string -> t -> tLookup a field in an object.
Null is considered an empty object.
Not_found if the field is absent from the object.Invalid_argument if the object is not an Assoc or Null object.