package data-encoding

  1. Overview
  2. Docs
Library of JSON and binary encoding combinators

Install

Dune Dependency

Authors

Maintainers

Sources

data-encoding-v0.7.1.tar.gz
md5=a1a36b7ed3e4e17f751462ff54cf1c6f
sha512=93cbec5d3d3828b5368203b76af543c491d545e7d2200a050996289dc705b43ad025bc2e3201a8b1240ea3e2609f4abba9000ea15c53b84294f0cf3bfd89a92d

Description

Published: 14 Nov 2022

README

Data-encoding

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