data-encoding
Library of JSON and binary encoding combinators
README
A library for encoding and decoding data. It offers a great degree of control over the layout of data. It supports json and binary serialisation/deserialisation.
Usage
For a type t
, you can use the library's combinators to build an encoding t encoding
. You can then use the various reading/writing functions with this
encoding to serialise and deserialise values of the type t
.
Example:
open Data_encoding
type t = (string * int) list
let encoding = list (tup2 string int31)
let v = [("foo", 32); ("bar", 0)]
let j = Json.construct encoding v
let w = Json.destruct encoding j
let () = assert (v = w)
Build and Install
data-encoding
can be built from source using dune
:
dune build
or installed directly from opam
:
opam install data-encoding
Install
- Authors
-
- Maintainers
-
Sources
data-encoding-v0.5.3.tar.gz
md5=391d89f561ff496a15ad1c8a79b8bd5d
sha512=a66487f000e9ebb8abc655d6cf830b1d4877d00023541e61f1067df3480ec5fc31bbca5e2b46503f964511341176b3aeb51a4e1603764ad7d6591b3c709cf088
Dependencies
js_of_ocaml-compiler
with-test
odoc
with-doc
ocamlformat
= "0.20.1" & with-doc
crowbar
>= "0.2" & with-test
alcotest
with-test
json-data-encoding-bson
= "0.11"
json-data-encoding
= "0.11"
hex
>= "1.3.0"
zarith
>= "1.4"
dune
>= "2.0"
ocaml
>= "4.10"
Reverse Dependencies
osnap
>= "0.3.0"
ppx_pbt
>= "0.2.1"
tezos-baking-alpha
>= "13.0"
tezos-base
>= "13.0"
tezos-client-commands
>= "13.0"
tezos-codec
>= "13.0"
tezos-crypto
>= "13.0"
tezos-error-monad
>= "13.0"
tezos-event-logging
>= "13.0"
tezos-event-logging-test-helpers
>= "13.0"
tezos-micheline
>= "13.0"
tezos-protocol-environment
>= "13.0"
tezos-rpc
>= "13.0"
tezos-sapling
>= "13.0"
tezos-stdlib-unix
>= "13.0"
tezos-test-helpers
>= "13.0"