An implementation of Canonical JSON.
http://wiki.laptop.org/go/Canonical_JSON
The "canonical JSON" format is designed to provide
repeatable hashes of JSON-encoded data. It is designed
for applications that need to hash, sign or authenitcate
JSON data structures, including embedded signatures.
Canonical JSON is parsable with any full JSON parser, and
it allows whitespace for pretty-printed human readable
presentation, but it can be put into a canonical form
which then has a stable serialised representation and
thus a stable hash.