Hubbry Logo
search button
Sign in
Smile (data interchange format)
Smile (data interchange format)
Comunity Hub
History
arrow-down
starMore
arrow-down
bob

Bob

Have a question related to this hub?

bob

Alice

Got something to say related to this hub?
Share it here.

#general is a chat channel to discuss anything related to the hub.
Hubbry Logo
search button
Sign in
Smile (data interchange format)
Community hub for the Wikipedia article
logoWikipedian hub
Welcome to the community hub built on top of the Smile (data interchange format) Wikipedia article. Here, you can discuss, collect, and organize anything related to Smile (data interchange format). The pu...
Add your contribution
Smile (data interchange format)
Smile
Filename extension
.sml
Internet media type
application/x-jackson-smile (proposed)
Magic number3a 29 0a ":)\n"
Type of formatData interchange
Extended fromJSON
Standardno RFC yet
Websitegithub.com/FasterXML/smile-format-specification

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

Efficiency

[edit]

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

Implementations

[edit]

Libraries known to support Smile include:

Usage

[edit]

See also

[edit]

References

[edit]
  1. ^ "JVM Serializer Benchmark (results)". GitHub. Retrieved 7 Jun 2014.
  2. ^ "Shared String References in Smile". Retrieved 7 Jun 2014.
  3. ^ "Elasticsearch Guide [8.16]". Elastic. 2024-03-22. Retrieved 2024-11-22.
[edit]