1
Fork 0
A serialization/deserialization library for Simplified JSON, the Bitsquid/Stingray flavor of JSON.
Find a file
2024-03-21 13:52:57 +01:00
src Add documentation 2024-03-21 13:39:41 +01:00
tests Add documentation 2024-03-21 13:39:41 +01:00
.gitignore feat: Implement serialization 2022-11-18 09:21:46 +01:00
Cargo.toml chore: Release serde_sjson version 1.2.0 2024-03-21 13:52:57 +01:00
CHANGELOG.md chore: Release serde_sjson version 1.2.0 2024-03-21 13:52:57 +01:00
Justfile Add publishing command 2024-03-21 13:48:51 +01:00
LICENSE feat: Implement serialization 2022-11-18 09:21:46 +01:00
README.md Add documentation 2024-03-21 13:39:41 +01:00
README.tpl Add documentation 2024-03-21 13:39:41 +01:00
release.toml Add publishing command 2024-03-21 13:48:51 +01:00

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(())
}