module Basic:sig..end
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).
The main advantage of this module is its simplicity.
Type of the JSON tree
typejson =[ `Assoc of (string * json) list
| `Bool of bool
| `Float of float
| `Int of int
| `List of json list
| `Null
| `String of string ]
("abc", 123).<"Foo"> or <"Bar":123>.val to_string : ?buf:Bi_outbuf.t -> ?len:int -> ?std:bool -> json -> stringbuf : allows to reuse an existing buffer created with
Bi_outbuf.create. The buffer is cleared of all contents
before starting and right before returning.len : initial length of the output buffer.std : use only standard JSON syntax,
i.e. convert tuples and variants into standard JSON (if applicable),
refuse to print NaN and infinities,
require the root node to be either an object or an array.
Default is false.val to_channel : ?buf:Bi_outbuf.t ->
?len:int -> ?std:bool -> Pervasives.out_channel -> json -> unitbuf : allows to reuse an existing buffer created with
Bi_outbuf.create_channel_writer on the same channel.
buf is flushed right
before to_channel returns but the out_channel is
not flushed automatically.
See to_string for the role of the other optional arguments.
val to_output : ?buf:Bi_outbuf.t ->
?len:int ->
?std:bool ->
< output : string -> int -> int -> int; .. > -> json -> unitbuf : allows to reuse an existing buffer created with
Bi_outbuf.create_output_writer on the same channel.
buf is flushed right
before to_output returns but the channel itself is
not flushed automatically.
See to_string for the role of the other optional arguments.
val to_file : ?len:int -> ?std:bool -> string -> json -> unitto_string for the role of the optional arguments.val to_outbuf : ?std:bool -> Bi_outbuf.t -> json -> unitto_string for the role of the optional argument.val stream_to_string : ?buf:Bi_outbuf.t ->
?len:int -> ?std:bool -> json Stream.t -> stringto_string for the role of the optional arguments.val stream_to_channel : ?buf:Bi_outbuf.t ->
?len:int ->
?std:bool -> Pervasives.out_channel -> json Stream.t -> unitto_channel for the role of the optional arguments.val stream_to_file : ?len:int -> ?std:bool -> string -> json Stream.t -> unitto_string for the role of the optional arguments.val stream_to_outbuf : ?std:bool -> Bi_outbuf.t -> json Stream.t -> unitto_string for the role of the optional arguments.val pretty_format : ?std:bool -> json -> Easy_format.tto_string for the role of the optional std argument.val pretty_to_string : ?std:bool -> json -> stringto_string for the role of the optional std argument.val pretty_to_channel : ?std:bool -> Pervasives.out_channel -> json -> unitto_string for the role of the optional std argument.val prettify : ?std:bool -> string -> stringto_string for the role of the optional std argument.val compact : ?std:bool -> string -> stringto_string for the role of the optional std argument.val from_string : ?buf:Bi_outbuf.t -> ?fname:string -> ?lnum:int -> string -> jsonbuf : use this buffer at will during parsing instead of creating
a new one.fname : data file name to be used in error messages. It does
not have to be a real file.lnum : number of the first line of input. Default is 1.val from_channel : ?buf:Bi_outbuf.t ->
?fname:string -> ?lnum:int -> Pervasives.in_channel -> jsonfrom_string for the meaning of the optional arguments.val from_file : ?buf:Bi_outbuf.t -> ?fname:string -> ?lnum:int -> string -> jsonfrom_string for the meaning of the optional arguments.typelexer_state =Yojson.Lexer_state.t= {
|
buf : |
|
mutable lnum : |
|
mutable bol : |
|
mutable fname : |
Yojson.lexer_state directly.val init_lexer : ?buf:Bi_outbuf.t ->
?fname:string -> ?lnum:int -> unit -> lexer_stateYojson.init_lexer directly.val from_lexbuf : lexer_state ->
?stream:bool -> Lexing.lexbuf -> jsonlexer_state can be created with init_lexer.
See from_string for the meaning of the optional arguments.stream : indicates whether more data may follow. The default value
is false and indicates that only JSON whitespace can be found between
the end of the JSON value and the end of the input.val stream_from_string : ?buf:Bi_outbuf.t ->
?fname:string -> ?lnum:int -> string -> json Stream.tfrom_string for the meaning of the optional arguments.val stream_from_channel : ?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int -> Pervasives.in_channel -> json Stream.tfin : finalization function executed once when the end of the
stream is reached either because there is no more input or because
the input could not be parsed, raising an exception.
See from_string for the meaning of the other optional arguments.
val stream_from_file : ?buf:Bi_outbuf.t ->
?fname:string -> ?lnum:int -> string -> json Stream.t
See from_string for the meaning of the optional arguments.
val stream_from_lexbuf : lexer_state ->
?fin:(unit -> unit) -> Lexing.lexbuf -> json Stream.tlexer_state can be created with init_lexer.
Whitespace between JSON values is fine but not required.
See stream_from_channel for the meaning of the optional fin
argument.
typejson_line =[ `Exn of exn | `Json of json ]
val linestream_from_channel : ?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int -> Pervasives.in_channel -> json_line Stream.t`Exn.
See stream_from_channel for the meaning of the optional fin
argument.
See from_string for the meaning of the other optional arguments.
val linestream_from_file : ?buf:Bi_outbuf.t ->
?fname:string -> ?lnum:int -> string -> json_line Stream.t`Exn.
See stream_from_channel for the meaning of the optional fin
argument.
See from_string for the meaning of the other optional arguments.
module Util:sig..end