package json-data-encoding
Type-safe encoding to and decoding from JSON
Install
Dune Dependency
Authors
Maintainers
Sources
data-encoding-v1.0.0.tar.gz
md5=d15b03873f0ccc333b60bfcdf0595766
sha512=0a5355bae421b5d155eeff7ad333cce32cf317b88ac69a07be715ff9a4cd05c8e1715de4917ed8f67789070175654ea3e332a348e586d5005e8772f5672c4a6f
Description
Published: 03 Apr 2023
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
Dev Dependencies (6)
-
conf-npm
with-test
-
js_of_ocaml-compiler
with-test
-
odoc
with-doc
-
ocamlformat
= "0.24.1" & with-doc
-
alcotest
with-test
-
crowbar
with-test
Used by (9)
-
bechamel-js
>= "0.3.0"
- compsort
-
data-encoding
= "0.4" | = "0.6" | = "1.0.0"
-
ez_api
< "2.1.0"
-
goblint
>= "2.0.0"
-
json-data-encoding-browser
= "1.0.0"
-
json-data-encoding-bson
= "1.0.0"
- ozulip
-
ppx_deriving_encoding
>= "0.2.2"
Conflicts (1)
-
data-encoding
!= version
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page