Thanks to visit codestin.com
Credit goes to lib.rs

#token-efficient #llm #serialization #json #zoon

zoon-format

ZOON - Zero Overhead Object Notation encoder/decoder

4 stable releases

1.0.3 Dec 29, 2025
1.0.2 Dec 28, 2025

#658 in Encoding

MIT license

41KB
936 lines

zoon-rust

A Rust implementation of ZOON (Zero Overhead Object Notation) - the most token-efficient data format for LLMs.

Crates.io License

Installation

Add to your Cargo.toml:

[dependencies]
zoon-format = "1.0"

Usage

Encoding

use zoon::encode;
use serde::Serialize;

#[derive(Serialize)]
struct User {
    id: i32,
    name: String,
    role: String,
    active: bool,
}

fn main() {
    let users = vec![
        User { id: 1, name: "Alice".into(), role: "Admin".into(), active: true },
        User { id: 2, name: "Bob".into(), role: "User".into(), active: false },
    ];

    let encoded = zoon::encode(&users).unwrap();
    println!("{}", encoded);
    // # id:i name:s role=Admin|User active:b
    // Alice Admin 1
    // Bob User 0
}

Decoding

use zoon::decode;
use serde::Deserialize;

#[derive(Deserialize, Debug)]
struct User {
    id: i32,
    name: String,
    role: String,
    active: bool,
}

fn main() {
    let input = "# id:i name:s role:s active:b\n1 Alice Admin 1\n2 Bob User 0";
    let users: Vec<User> = zoon::decode(input).unwrap();
    println!("{:?}", users);
}

API

Function Description
encode<T: Serialize>(value: &T) -> Result<String> Encode any serializable value to ZOON
decode<T: DeserializeOwned>(input: &str) -> Result<T> Decode ZOON into a value

Type Mapping

Rust Type ZOON Type Header
i32, i64 Integer :i
bool Boolean :b
String String :s
Option<T> (None) Null ~
Auto-increment ID Implicit :i+

License

MIT License. © 2025-PRESENT Carsen Klock.

Dependencies

~0.6–1.5MB
~33K SLoC