"Smile" is a binary data format that defines a binary equivalent of standard JSON data format.
Format was specified in 2010 by Jackson JSON processor development team. First compliant implementation was included Jackson version 1.6, released in September 2010.
Design documentation includes:
- Smile Format Specification describes format itself; how it works and what a compliant parser/generator implementations needs to do.
- Smile Format Design Goals explains rationale for design decisions concerning specification.
Smile Codecs
- Java
- Jackson provides Smile support through jackson-dataformat-smile modules) format codec
- Full support: including streaming access, data binding and tree model (100% parity with textual JSON)
- Protostuff project supports Smile both as a low-level data format, and as format used for its RPC implementation
- Jackson provides Smile support through jackson-dataformat-smile modules) format codec
- JVM, other:
- C
- libsmile is a small C-library for reading and writing Smile data.
- Javascript
- smile-js Smile decoder written in Javascript
- Python
- PySmile Python codec
Frameworks, Systems that use Smile codec (encoder and decoder)
- Elastic Search uses Smile as transport format supports access using Smile encoding.
- Apache Solr can use Smile as the response format with the
wt=smile
parameter.