Smile es un formato de intercambio de datos informáticos basado en JSON . También puede considerarse una serialización binaria del modelo de datos JSON genérico, lo que significa que las herramientas que operan en JSON también pueden usarse con Smile , siempre que exista un codificador/descodificador adecuado para la herramienta. El nombre proviene de los primeros 2 bytes del encabezado de 4 bytes, que consisten en Smiley ":)" seguido de un salto de línea: una elección realizada para facilitar el reconocimiento de los archivos de datos codificados con Smile mediante herramientas de línea de comandos textuales.
En comparación con JSON, Smile es más compacto y más eficiente de procesar (tanto para leer como para escribir). [1] Parte de esto se debe a una codificación binaria más eficiente (similar a BSON , CBOR y UBJSON ), pero una característica adicional es el uso opcional de referencias inversas para nombres y valores de propiedades. [2] Las referencias inversas permiten reemplazar nombres de propiedades y/o valores de cadena cortos (64 bytes o menos) con identificadores de referencia de 1 o 2 bytes.
Las bibliotecas que se sabe que admiten Smile incluyen: