Jump to content

Smile (data interchange format)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Tsaloranta (talk | contribs) at 21:44, 28 March 2014 (initial version with basic information about data format). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Smile
Filename extension
.sml
Internet media type
application/x-jackson-smile[1] (proposed)
Type of formatData interchange
Extended fromJSON
Standardno RFC yet
Websitewiki.fasterxml.com/SmileFormatSpec

Smile is a computer data interchange format based on JSON. It can also be consider a binary serialization of generic JSON data model, which means that tools that operation on JSON may be used with Smile as well, as long as proper encoder/decoder exists for tool to use. The name comes from first 2 bytes of the 4 byte header, which consist of Smiley ":)" followed by a linefeed: choice made to make it easier to recognize Smile-encoded data files using textual command-line tools.

Efficiency

Compared to JSON, Smile is both more compact and more efficient to process (both to read and write). Part of this is due to more efficient binary encoding (similar to BSON and UBJSON), but an additional feature is optional use of back references for property names and values. Back referencing allows replacing of property names and/or short (64 bytes or less) String values with 1- or 2-byte reference ids.

Implementations

Libraries known to support Smile include:

See also

References