package ppx_yojson_conv

  1. Overview
  2. Docs

Utility Module for Yojson Conversions

Conversion of OCaml-values to Yojsons
val yojson_of_unit : unit -> Yojson.Safe.t

yojson_of_unit () converts a value of type unit to an Yojson.

val yojson_of_bool : bool -> Yojson.Safe.t

yojson_of_bool b converts the value b of type bool to an Yojson.

val yojson_of_string : string -> Yojson.Safe.t

yojson_of_string str converts the value str of type string to an Yojson.

val yojson_of_bytes : bytes -> Yojson.Safe.t

yojson_of_bytes str converts the value str of type bytes to an Yojson.

val yojson_of_char : char -> Yojson.Safe.t

yojson_of_char c converts the value c of type char to an Yojson.

val yojson_of_int : int -> Yojson.Safe.t

yojson_of_int n converts the value n of type int to an Yojson.

val yojson_of_float : float -> Yojson.Safe.t

yojson_of_float n converts the value n of type float to an Yojson.

val yojson_of_int32 : int32 -> Yojson.Safe.t

yojson_of_int32 n converts the value n of type int32 to an Yojson.

val yojson_of_int64 : int64 -> Yojson.Safe.t

yojson_of_int64 n converts the value n of type int64 to an Yojson.

val yojson_of_nativeint : nativeint -> Yojson.Safe.t

yojson_of_nativeint n converts the value n of type nativeint to an Yojson.

val yojson_of_ref : ('a -> Yojson.Safe.t) -> 'a ref -> Yojson.Safe.t

yojson_of_ref conv r converts the value r of type 'a ref to an Yojson. Uses conv to convert values of type 'a to an Yojson.

val yojson_of_lazy_t : ('a -> Yojson.Safe.t) -> 'a lazy_t -> Yojson.Safe.t

yojson_of_lazy_t conv l converts the value l of type 'a lazy_t to an Yojson. Uses conv to convert values of type 'a to an Yojson.

val yojson_of_option : ('a -> Yojson.Safe.t) -> 'a option -> Yojson.Safe.t

yojson_of_option conv opt converts the value opt of type 'a option to an Yojson. Uses conv to convert values of type 'a to an Yojson.

val yojson_of_pair : ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('a * 'b) -> Yojson.Safe.t

yojson_of_pair conv1 conv2 pair converts a pair to an Yojson. It uses its first argument to convert the first element of the pair, and its second argument to convert the second element of the pair.

val yojson_of_triple : ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('c -> Yojson.Safe.t) -> ('a * 'b * 'c) -> Yojson.Safe.t

yojson_of_triple conv1 conv2 conv3 triple converts a triple to an Yojson using conv1, conv2, and conv3 to convert its elements.

val yojson_of_list : ('a -> Yojson.Safe.t) -> 'a list -> Yojson.Safe.t

yojson_of_list conv lst converts the value lst of type 'a list to an Yojson. Uses conv to convert values of type 'a to an Yojson.

val yojson_of_array : ('a -> Yojson.Safe.t) -> 'a array -> Yojson.Safe.t

yojson_of_array conv ar converts the value ar of type 'a array to an Yojson. Uses conv to convert values of type 'a to an Yojson.

val yojson_of_hashtbl : ('a -> Yojson.Safe.t) -> ('b -> Yojson.Safe.t) -> ('a, 'b) Hashtbl.t -> Yojson.Safe.t

yojson_of_hashtbl conv_key conv_value htbl converts the value htbl of type ('a, 'b) Hashtbl.t to an Yojson. Uses conv_key to convert the hashtable keys of type 'a, and conv_value to convert hashtable values of type 'b to Yojsons.

val yojson_of_opaque : 'a -> Yojson.Safe.t

yojson_of_opaque x converts the value x of opaque type to an Yojson. This means the user need not provide converters, but the result cannot be interpreted.

val yojson_of_fun : ('a -> 'b) -> Yojson.Safe.t

yojson_of_fun f converts the value f of function type to a dummy Yojson. Functions cannot be serialized as Yojsons, but at least a placeholder can be generated for pretty-printing.

Conversion of Yojsons to OCaml-values
exception Of_yojson_error of exn * Yojson.Safe.t

Of_yojson_error (exn, yojson) the exception raised when an Yojson could not be successfully converted to an OCaml-value.

val record_check_extra_fields : bool ref

record_check_extra_fields checks for extra (= unknown) fields in record Yojsons.

val of_yojson_error : string -> Yojson.Safe.t -> 'a

of_yojson_error reason yojson

val of_yojson_error_exn : exn -> Yojson.Safe.t -> 'a

of_yojson_error_exn exc yojson

val unit_of_yojson : Yojson.Safe.t -> unit

unit_of_yojson yojson converts Yojson yojson to a value of type unit.

val bool_of_yojson : Yojson.Safe.t -> bool

bool_of_yojson yojson converts Yojson yojson to a value of type bool.

val string_of_yojson : Yojson.Safe.t -> string

string_of_yojson yojson converts Yojson yojson to a value of type string.

val bytes_of_yojson : Yojson.Safe.t -> bytes

bytes_of_yojson yojson converts Yojson yojson to a value of type bytes.

val char_of_yojson : Yojson.Safe.t -> char

char_of_yojson yojson converts Yojson yojson to a value of type char.

val int_of_yojson : Yojson.Safe.t -> int

int_of_yojson yojson converts Yojson yojson to a value of type int.

val float_of_yojson : Yojson.Safe.t -> float

float_of_yojson yojson converts Yojson yojson to a value of type float.

val int32_of_yojson : Yojson.Safe.t -> int32

int32_of_yojson yojson converts Yojson yojson to a value of type int32.

val int64_of_yojson : Yojson.Safe.t -> int64

int64_of_yojson yojson converts Yojson yojson to a value of type int64.

val nativeint_of_yojson : Yojson.Safe.t -> nativeint

nativeint_of_yojson yojson converts Yojson yojson to a value of type nativeint.

val ref_of_yojson : (Yojson.Safe.t -> 'a) -> Yojson.Safe.t -> 'a ref

ref_of_yojson conv yojson converts Yojson yojson to a value of type 'a ref using conversion function conv, which converts an Yojson to a value of type 'a.

val lazy_t_of_yojson : (Yojson.Safe.t -> 'a) -> Yojson.Safe.t -> 'a lazy_t

lazy_t_of_yojson conv yojson converts Yojson yojson to a value of type 'a lazy_t using conversion function conv, which converts an Yojson to a value of type 'a.

val option_of_yojson : (Yojson.Safe.t -> 'a) -> Yojson.Safe.t -> 'a option

option_of_yojson conv yojson converts Yojson yojson to a value of type 'a option using conversion function conv, which converts an Yojson to a value of type 'a.

val pair_of_yojson : (Yojson.Safe.t -> 'a) -> (Yojson.Safe.t -> 'b) -> Yojson.Safe.t -> 'a * 'b

pair_of_yojson conv1 conv2 yojson converts Yojson yojson to a pair of type 'a * 'b using conversion functions conv1 and conv2, which convert Yojsons to values of type 'a and 'b respectively.

val triple_of_yojson : (Yojson.Safe.t -> 'a) -> (Yojson.Safe.t -> 'b) -> (Yojson.Safe.t -> 'c) -> Yojson.Safe.t -> 'a * 'b * 'c

triple_of_yojson conv1 conv2 conv3 yojson converts Yojson yojson to a triple of type 'a * 'b * 'c using conversion functions conv1, conv2, and conv3, which convert Yojsons to values of type 'a, 'b, and 'c respectively.

val list_of_yojson : (Yojson.Safe.t -> 'a) -> Yojson.Safe.t -> 'a list

list_of_yojson conv yojson converts Yojson yojson to a value of type 'a list using conversion function conv, which converts an Yojson to a value of type 'a.

val array_of_yojson : (Yojson.Safe.t -> 'a) -> Yojson.Safe.t -> 'a array

array_of_yojson conv yojson converts Yojson yojson to a value of type 'a array using conversion function conv, which converts an Yojson to a value of type 'a.

val hashtbl_of_yojson : (Yojson.Safe.t -> 'a) -> (Yojson.Safe.t -> 'b) -> Yojson.Safe.t -> ('a, 'b) Hashtbl.t

hashtbl_of_yojson conv_key conv_value yojson converts Yojson yojson to a value of type ('a, 'b) Hashtbl.t using conversion function conv_key, which converts an Yojson to hashtable key of type 'a, and function conv_value, which converts an Yojson to hashtable value of type 'b.

val opaque_of_yojson : Yojson.Safe.t -> 'a

opaque_of_yojson yojson

  • raises Of_yojson_error

    when attempting to convert an Yojson to an opaque value.

val fun_of_yojson : Yojson.Safe.t -> 'a

fun_of_yojson yojson

module Result : sig ... end
module Primitives : sig ... end