-------------------------------------------------------------------------------
Jsonm - Non-blocking streaming JSON codec for OCaml
        Release 0.9.1
-------------------------------------------------------------------------------

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][1]. It is distributed
under the BSD3 license.

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

Home page: http://erratique.ch/software/jsonm
Contact: Daniel Bünzli <daniel.buenzli at erratique.ch>


Installation
------------

To install Jsonm you need at least : 

    OCaml >= 3.12.0 
    uutf 

If you have `findlib`, it can be installed by typing :

    ocaml setup.ml -configure
    ocaml setup.ml -build 
    ocaml setup.ml -install

If you don't, `jsonm.mli` and `jsonm.ml` contain everything, the
code, the documentation and the license. Install the dependencies and
use the sources the way you want. For example if you use `ocamlbuild`
you can issue the following commands from the root directory of your
project :

    ln -s /path/to/jsonm-0.9.1/src jsonm
    echo "<jsonm> : include" >> _tags


Documentation
-------------

The documentation and API reference is automatically generated by
`ocamldoc` from `jsonm.mli`. For you convenience you can find a
generated version in the `doc` directory of the distribution.


Sample programs
---------------

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

    ocamlbuild test/tests.otarget

The resulting binaries are in `_build/test` :

- `test.native` tests the library, nothing should fail.
- `ocamltweets.native` gives you the latest tweets about OCaml. 
- `jsontrip.native` among other things, reads JSON on `stdin` and rewrites it 
   on `stdout`. Invoke with `-help` for more information.
