serialize

Serialize JSON-shaped data into compact binary using msgpack or a simplified protobuf encoder. Input is always a JSON string and binary output is returned as a base64 string. Import it with import serialize.

serialize.msgpack

FunctionSignatureDescription
encodeserialize.msgpack.encode(json: string) → stringEncode a JSON string to base64-wrapped msgpack
decodeserialize.msgpack.decode(data: string) → stringDecode base64 msgpack back into a JSON string
sizeserialize.msgpack.size(json: string) → intByte count of the msgpack encoding (0 on invalid JSON)

serialize.protobuf

A simplified encoder backed by msgpack internally, since true protobuf requires schemas.

FunctionSignatureDescription
encodeserialize.protobuf.encode(json: string) → stringEncode a JSON string to a base64 binary string
decodeserialize.protobuf.decode(data: string) → stringDecode a base64 binary string back into a JSON string

Example

import serialize

let payload = "{\"id\":7,\"name\":\"widget\"}"

// compact binary round-trip
let packed = serialize.msgpack.encode(payload)
print(serialize.msgpack.size(payload))     // encoded byte count
print(serialize.msgpack.decode(packed))    // {"id":7,"name":"widget"}
Standard library · View as Markdown · llms-full.txt