YojsonThe Yojson library provides several types for representing JSON values, with different use cases.
Each of these different types have their own module.
type lexer_state = {buf : Stdlib.Buffer.t;mutable lnum : int;mutable bol : int;mutable fname : string option;}module Lexer_state : sig ... endval init_lexer :
?buf:Stdlib.Buffer.t ->
?fname:string ->
?lnum:int ->
unit ->
lexer_stateval pp : Stdlib.Format.formatter -> t -> unitval show : t -> stringval to_string :
?buf:Stdlib.Buffer.t ->
?len:int ->
?suf:string ->
?std:bool ->
t ->
stringval to_channel :
?buf:Stdlib.Buffer.t ->
?len:int ->
?suf:string ->
?std:bool ->
Stdlib.out_channel ->
t ->
unitval to_output :
?buf:Stdlib.Buffer.t ->
?len:int ->
?suf:string ->
?std:bool ->
< output : string -> int -> int -> int.. > ->
t ->
unitval to_file : ?len:int -> ?std:bool -> ?suf:string -> string -> t -> unitval to_buffer : ?suf:string -> ?std:bool -> Stdlib.Buffer.t -> t -> unitval seq_to_string :
?buf:Stdlib.Buffer.t ->
?len:int ->
?suf:string ->
?std:bool ->
t Stdlib.Seq.t ->
stringval seq_to_channel :
?buf:Stdlib.Buffer.t ->
?len:int ->
?suf:string ->
?std:bool ->
Stdlib.out_channel ->
t Stdlib.Seq.t ->
unitval seq_to_file :
?len:int ->
?suf:string ->
?std:bool ->
string ->
t Stdlib.Seq.t ->
unitval seq_to_buffer :
?suf:string ->
?std:bool ->
Stdlib.Buffer.t ->
t Stdlib.Seq.t ->
unitval write_t : Stdlib.Buffer.t -> t -> unitval write_null : Stdlib.Buffer.t -> unit -> unitval write_bool : Stdlib.Buffer.t -> bool -> unitval write_int : Stdlib.Buffer.t -> int -> unitval write_float : Stdlib.Buffer.t -> float -> unitval write_std_float : Stdlib.Buffer.t -> float -> unitval write_float_prec : int -> Stdlib.Buffer.t -> float -> unitval write_std_float_prec : int -> Stdlib.Buffer.t -> float -> unitval write_string : Stdlib.Buffer.t -> string -> unitval write_intlit : Stdlib.Buffer.t -> string -> unitval write_floatlit : Stdlib.Buffer.t -> string -> unitval write_stringlit : Stdlib.Buffer.t -> string -> unitval write_assoc : Stdlib.Buffer.t -> (string * t) list -> unitval write_list : Stdlib.Buffer.t -> t list -> unitval write_tuple : Stdlib.Buffer.t -> t list -> unitval write_std_tuple : Stdlib.Buffer.t -> t list -> unitval write_variant : Stdlib.Buffer.t -> string -> t option -> unitval write_std_variant : Stdlib.Buffer.t -> string -> t option -> unitval write_json : Stdlib.Buffer.t -> t -> unitval write_std_json : Stdlib.Buffer.t -> t -> unitval pretty_print : ?std:bool -> Stdlib.Format.formatter -> t -> unitval pretty_to_string : ?std:bool -> t -> stringval pretty_to_channel : ?std:bool -> Stdlib.out_channel -> t -> unitmodule Basic : sig ... endThis module supports standard JSON nodes only, i.e. no special syntax for variants or tuples as supported by Yojson.Safe. Arbitrary integers are not supported as they must all fit within the standard OCaml int type (31 or 63 bits depending on the platform).
module Safe : sig ... endThis module supports a specific syntax for variants and tuples in addition to the standard JSON nodes. Arbitrary integers are supported and represented as a decimal string using `Intlit when they cannot be represented using OCaml's int type (31 or 63 bits depending on the platform).
module Raw : sig ... endInts, floats and strings literals are systematically preserved using `Intlit, `Floatlit and `Stringlit. This module also supports the specific syntax for variants and tuples supported by Yojson.Safe.