serde_sjson

Crates.ioserde_sjson
lib.rsserde_sjson
version1.2.1
created_at2025-04-21 20:47:55.331516+00
updated_at2025-04-21 20:47:55.331516+00
descriptionAn SJSON serialization file format
homepage
repositoryhttps://github.com/sclu1034/serde_sjson
max_upload_size
id1643196
size108,990
Lucas Schwiderski (sclu1034)

documentation

https://docs.rs/serde_sjson

README

serde_sjson

A serialization/deserialization library for Simplified JSON, the Bitsquid/Stingray flavor of JSON.

Usage

Serializing

use serde::Serialize;
use serde_sjson::Result;

#[derive(Serialize)]
struct Person {
    name: String,
    age: u8,
    friends: Vec<String>,
}

fn main() -> Result<()> {
    let data = Person {
        name: String::from("Marc"),
        age: 21,
        friends: vec![String::from("Jessica"), String::from("Paul")],
    };

    let s = serde_sjson::to_string(&data)?;

    println!("{}", s);

    Ok(())
}

Deserializing

use serde::Deserialize;
use serde_sjson::Result;

#[derive(Deserialize)]
struct Person {
    name: String,
    age: u8,
    friends: Vec<String>,
}

fn main() -> Result<()> {
    let sjson = r#"
    name = Marc
    age = 21
    friends = [
        Jessica
        Paul
    ]"#;

    let data: Person = serde_sjson::from_str(sjson)?;

    println!(
        "{} is {} years old and has {} friends.",
        data.name,
        data.age,
        data.friends.len()
    );

    Ok(())
}
Commit count: 37

cargo fmt