# Module Json_type.Build

    module Build: sig .. end

This submodule provides some simple functions for building JSON data from other OCaml types.

Use `open Json_type.Build` when you want to convert JSON data into another OCaml type.

    val null : Json_type.t

The `Null` value

    val bool : bool -> Json_type.t

builds a JSON `Bool`

    val int : int -> Json_type.t

builds a JSON `Int`

    val float : float -> Json_type.t

builds a JSON `Float`

    val string : string -> Json_type.t

builds a JSON `String`

    val objekt : (string * Json_type.t) list -> Json_type.t

builds a JSON `Object`.

See `Json_type.Browse.objekt` for an explanation about the unusual spelling.

    val array : Json_type.t list -> Json_type.t

builds a JSON `Array`.

    val list : ('a -> Json_type.t) -> 'a list -> Json_type.t

`list f l` maps OCaml list `l` to a JSON list using function `f` to convert the elements into JSON values.

For example, `list int [1; 2; 3]` is a shortcut for `Array [ Int 1; Int 2; Int 3 ]`.

    val option : Json_type.t option -> Json_type.t

`option x` returns `Null` is `x` is `None`, or `y` if `x` is `Some y`.

    val optional : ('a -> Json_type.t) -> 'a option -> Json_type.t

`optional f x` returns `Null` if `x` is `None`, or `f x` otherwise.

For example, `list (optional int) [Some 1; Some 2; None]` returns `Array [ Int 1; Int 2; Null ]`.