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)

Tutorial

A full tutorial is available in markdown form in src/tutorial.md.

It is available online on
ocaml.org's package documentation
and on
data-encoding's own online documentation.

Build and Install

data-encoding can be built from source using dune:

dune build

or installed directly from opam:

opam install data-encoding
Install
Published
28 Sep 2022
Sources
data-encoding-v0.7.tar.gz
md5=a4c44ac124f742d7bcda4062d6667142
sha512=89ae14ad44a6eb8592b7ef97816653c436d5ef34bc45282c191961afdf241d0ce65accdbfaa536f613fe0d424c24b1dc3b0559bb62ac12b562738dacb62623b8
Dependencies
md2mld
with-test
odoc
with-doc
ocamlformat
= "0.20.1" & with-doc
ppx_expect
with-test
crowbar
>= "0.2" & with-test
alcotest
with-test
json-data-encoding-bson
>= "0.12" & < "0.13"
json-data-encoding
>= "0.12" & < "0.13"
hex
>= "1.3.0"
zarith
>= "1.4"
dune
>= "2.0"
ocaml
>= "4.10"
Reverse Dependencies