package json-data-encoding
Install
Dune Dependency
Authors
Maintainers
Sources
md5=5e38f6cfb3dffe652e98b8d38905376f
sha512=50a7e8bd7036c1c48b4132ba34301df7e4011c619177fed28ec96bffce99acb228dc4fe6fc24bff313b9ae3ba5c6da424189e6a8220b87c918ea20d08e1caca2
Description
Published: 01 Sep 2021
README
json-data-encoding
This library is a collection of type-aware JSON utilities for OCaml.
Json_encoding
contains an'a encoding
type that represents the JSON encoding of OCaml values of type'a
, and a collection of combinators to build them. These encodings can be used to serialize / deserialize OCaml values to / from JSON documents. JSON schemas can also be generated automatically to produce documented, interoperable JSON formats.Json_schema
contains an OCaml intermediate representation for the JSON schema document grammar description language, along with translators to / from the concrete JSON schema format.Json_query
contains various utilities to manipulate, introspect and update JSON data.Json_repr
defines an abstraction over JSON representations. This module is mainly useful when using the functorial interface of the library, or if you use several JSON libraries in your program and want to convert data from one JSON representation to another.
The type of JSON documents handled by this library is directly compatible with ezjsonm
, but converters are provided for yojson
users, and an advanced functorial interface allows you to use any JSON representation. Two other representations are also provided.
Json_repr_browser
interfaces JavaScripts objects. It is available only when compiling to JavaScript viajs_of_ocaml
. Provided by the extra packagejson-data-encoding-browser
.Json_repr_bson
is an implementation of a subset of BSON. Provided by the extra packagejson-data-encoding-bson
.
Thanks to polymorphic variants, this library does not depend on any JSON library, so you are free to use whichever you want for printing and parsing.
Dev Dependencies (3)
-
ocamlformat
= "0.18.0" & dev
-
alcotest
with-test
-
crowbar
with-test
Used by (10)
-
bechamel-js
>= "0.3.0"
- compsort
-
data-encoding
= "0.4"
-
ez_api
< "2.1.0"
-
goblint
>= "2.0.0"
-
json-data-encoding-browser
= "0.10"
-
json-data-encoding-bson
= "0.10"
-
ppx_deriving_encoding
>= "0.2.2"
-
resto
>= "1.0"
-
resto-json
>= "1.0"
Conflicts
None