Go to file
Petri Lehtinen f18ef5144a Implement JSON_PRESERVE_ORDER encoding flag
With this encoding flag, the object key-value pairs in output are in
the same order in which they were first inserted into the object.

To make this possible, a key of an object is now a serial number plus
a string. An object keeps an increasing counter which is used to
assign serial number to the keys. Hashing, comparison and public API
functions were changed to act only on the string part, i.e. the serial
number is ignored everywhere else but in the encoder, where it's used
to order object keys if JSON_PRESERVE_ORDER flag is used.
2010-02-11 20:48:56 +02:00
doc Implement JSON_PRESERVE_ORDER encoding flag 2010-02-11 20:48:56 +02:00
src Implement JSON_PRESERVE_ORDER encoding flag 2010-02-11 20:48:56 +02:00
test Implement JSON_PRESERVE_ORDER encoding flag 2010-02-11 20:48:56 +02:00
.gitignore Add pkg-config support 2010-01-07 19:30:20 +02:00
CHANGES jansson 1.2 2010-01-21 21:49:10 +02:00
configure.ac Merge branch 'c++-api' 2010-01-21 22:29:26 +02:00
jansson.pc.in Add pkg-config support 2010-01-07 19:30:20 +02:00
LICENSE Update LICENSE 2010-01-21 22:31:06 +02:00
Makefile.am Merge branch '1.1' 2010-01-17 13:57:20 +02:00
README.rst Update documentation 2010-01-12 21:29:16 +02:00

Jansson README
==============

Jansson_ is a C library for encoding, decoding and manipulating JSON
data. Its main features and design principles are:

- Simple and intuitive API and data model

- Comprehensive documentation

- No dependencies on other libraries

- Full Unicode support (UTF-8)

- Extensive test suite

Jansson is licensed under the `MIT license`_; see LICENSE in the
source distribution for details.


Compilation and Installation
----------------------------

If you obtained a source tarball, just use the standard autotools
commands::

   $ ./configure && make && make install

If the source has been checked out from a Git repository, the
./configure script has to be generated fist. The easiest way is to use
autoreconf::

   $ autoreconf -i

To run the test suite, invoke::

   $ make check


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

Documentation is in the ``doc/`` subdirectory. It's written in
reStructuredText_ with Sphinx_ annotations, so reading it in plain may
be inconvenient. For this reason, prebuilt HTML documentation is
available at http://www.digip.org/jansson/doc/.

To generate HTML documentation yourself, invoke::

   make html

and point your browser to ``doc/_build/html/index.html``. Sphinx_ is
required to generate the documentation.


.. _Jansson: http://www.digip.org/jansson/
.. _`MIT license`: http://www.opensource.org/licenses/mit-license.php
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Sphinx: http://sphinx.pocoo.org/