Crate shapely_json

Source
Expand description

§shapely-json

experimental free of syn crates.io documentation MIT/Apache-2.0 licensed

A serialization and deserialization library for JSON using the shapely runtime reflection system.

§Features

  • Simple JSON deserialization for any type implementing the Shapely trait
  • Detailed error reporting with context
  • Support for nested structs and scalar values

§Example

use shapely::Shapely;
use shapely_json::from_json;

#[derive(Debug, Shapely, PartialEq)]
struct Person {
    name: String,
    age: u64,
}

let json = r#"{"name": "Alice", "age": 30}"#;

let mut partial = Person::partial();
from_json(&mut partial, json).expect("Failed to parse JSON");

let person = partial.build::<Person>();
assert_eq!(person, Person { name: "Alice".to_string(), age: 30 });

§Funding

Thanks to Namespace for providing fast GitHub Actions workers:

§License

Licensed under either of:

at your option.

Functions§

from_json
Deserialize a Partial object from a JSON string.
to_json
Serializes any Shapely type to JSON
to_json_string
Serializes any Shapely type to JSON and returns it as a String