Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dbuenzli/jsonm

Non-blocking streaming JSON codec for OCaml
https://github.com/dbuenzli/jsonm

Last synced: about 2 months ago
JSON representation

Non-blocking streaming JSON codec for OCaml

Awesome Lists containing this project

README

        

Jsonm — Non-blocking streaming JSON codec for OCaml
-------------------------------------------------------------------------------
%%VERSION%%

Jsonm is a non-blocking streaming codec to decode and encode the JSON
data format. It can process JSON text without blocking on IO and
without a complete in-memory representation of the data.

The alternative "uncut" codec also processes whitespace and
(non-standard) JSON with JavaScript comments.

Jsonm is made of a single module and depends on [Uutf][uutf]. It is distributed
under the ISC license.

[uutf]: http://erratique.ch/software/uutf

Home page: http://erratique.ch/software/jsonm
Contact: Daniel Bünzli ``

## Installation

Jsonm can be installed with `opam`:

opam install jsonm

If you don't use `opam` consult the [`opam`](opam) file for build
instructions.

## Documentation

The documentation and API reference is automatically generated by
`ocamldoc` from the interfaces. It can be consulted [online][doc]
and there is a generated version in the `doc` directory of the
distribution.

[doc]: http://erratique.ch/software/jsonm/doc/Jsonm

## Sample programs

If you installed jsonm with `opam`, it installed the `jsontrip` binary
which, among other things, reads JSON on `stdin` and rewrites it on
`stdout`; invoke with `-help` for more information. Sample code is
located in the directory `opam config var jsonm:doc`.

In the distribution sample programs are located in the `test`
directory of the distribution. They can be built with:

ocamlbuild -use-ocamlfind test/tests.otarget

The resulting binaries are in `_build/test`.