Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type 'a reader = Yojson.Safe.lexer_state -> Lexing.lexbuf -> 'a
Type of a read_
function as produced by atdgen -json
.
In versions of yojson greater than 1.0.1, type Yojson.Safe.lexer_state
is equivalent to Yojson.lexer_state
, Yojson.Basic.lexer_state
and Yojson.Raw.lexer_state
.
type 'a writer = Bi_outbuf.t -> 'a -> unit
Type of a write_
function as produced by atdgen -json
.
val from_lexbuf :
?stream:bool ->
'a reader ->
Yojson.Safe.lexer_state ->
Lexing.lexbuf ->
'a
Read a JSON value from a lexbuf.
val from_string :
?buf:Bi_outbuf.t ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a
Convert a JSON value from a string.
val from_channel :
?buf:Bi_outbuf.t ->
?fname:string ->
?lnum:int ->
'a reader ->
Pervasives.in_channel ->
'a
Read a JSON value from a channel.
val from_file :
?buf:Bi_outbuf.t ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a
Read a JSON value from a channel.
val stream_from_lexbuf :
?fin:(unit -> unit) ->
'a reader ->
Yojson.Safe.lexer_state ->
Lexing.lexbuf ->
'a Stream.t
Read a stream of JSON values from a lexbuf.
val stream_from_string :
?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a Stream.t
Read a stream of JSON values from a channel. Values do not have to be separated by newline characters.
val stream_from_channel :
?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int ->
'a reader ->
Pervasives.in_channel ->
'a Stream.t
Read a stream of JSON values from a channel. Values do not have to be separated by newline characters.
val stream_from_file :
?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a Stream.t
Read a stream of JSON values from a file. Values do not have to be separated by newline characters.
val list_from_string :
?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a list
Read a list of JSON values from a channel. Values do not have to be separated by newline characters.
val list_from_channel :
?buf:Bi_outbuf.t ->
?fin:(unit -> unit) ->
?fname:string ->
?lnum:int ->
'a reader ->
Pervasives.in_channel ->
'a list
Read a list of JSON values from a channel. Values do not have to be separated by newline characters.
val list_from_file :
?buf:Bi_outbuf.t ->
?fname:string ->
?lnum:int ->
'a reader ->
string ->
'a list
Read a list of JSON values from a file. Values do not have to be separated by newline characters.
val to_string : ?len:int -> 'a writer -> 'a -> string
Write a JSON value to a string.
val to_channel : ?len:int -> 'a writer -> Pervasives.out_channel -> 'a -> unit
Write a JSON value to a channel.
val to_file : ?len:int -> 'a writer -> string -> 'a -> unit
Write a JSON value to a file.
Write a stream of values to a string.
val stream_to_channel :
?len:int ->
?lf:string ->
'a writer ->
Pervasives.out_channel ->
'a Stream.t ->
unit
Write a stream of values to a channel.
Write a stream of values to a file.
val list_to_string : ?len:int -> ?lf:string -> 'a writer -> 'a list -> string
Write a list of values to a string.
val list_to_channel :
?len:int ->
?lf:string ->
'a writer ->
Pervasives.out_channel ->
'a list ->
unit
Write a list of values to a channel.
val list_to_file :
?len:int ->
?lf:string ->
'a writer ->
string ->
'a list ->
unit
Write a list of values to a file.
preset_unknown_field_handler src_loc field_name
raises a Failure
exception with a message containing the location of the type definition in the source ATD file (src_loc
) and the name of the field (field_name
).
val unknown_field_handler : (string -> string -> unit) Pervasives.ref
Function called when an unknown JSON field is encountered if the code was generated by atdgen -json-strict-fields. Its preset behavior is to call preset_unknown_field_handler
which raises a Failure
exception.
Usage: !Ag_util.Json.unknown_field_handler src_loc field_name
where src_loc
is the location of the type definition in the source ATD file and field_name
is the unknown JSON field name.
preset_constr_mismatch_handler
constr_field constr_constr value_field value_constr
raises a Ag_oj_run.Error
exception with a message containing the constructor field and value (constr_field
and constr_constr
) which don't match the value field's (value_field
) constructor (value_constr
).
val constr_mismatch_handler :
(string -> string -> string -> string -> unit) Pervasives.ref
Function called when an explicit constructor field value does not match the constructor used if the code was generated by atdgen -json-strict-constrs. Its preset behavior is to call preset_unknown_field_handler
which raises a Ag_oj_run.Error
exception.
Usage: !Ag_util.Json.constr_mismatch_handler
constr_field constr_constr value_field value_constr
where constr_field
is the name of the constructor field, constr_constr
is the constructor field value, value_field
is the name of the value field, and value_constr
is the constructor used.