diff --git a/examples/02-serialization/Cargo.toml b/examples/02-serialization/Cargo.toml new file mode 100644 index 0000000..0c3e61a --- /dev/null +++ b/examples/02-serialization/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "serialization" +version = "0.1.0" +authors = ["Dimitri Sabadie "] + +[dependencies] +serde_json = "1" + +[dependencies.splines] +version = "0.1" +features = ["serialization"] diff --git a/examples/02-serialization/src/main.rs b/examples/02-serialization/src/main.rs new file mode 100644 index 0000000..2797c2d --- /dev/null +++ b/examples/02-serialization/src/main.rs @@ -0,0 +1,30 @@ +#[macro_use] extern crate serde_json; +extern crate splines; + +use serde_json::{Value, from_value}; +use splines::Spline; + +fn main() { + let value = json!{ + [ + { + "t": 0, + "interpolation": "linear", + "value": 0 + }, + { + "t": 1, + "interpolation": { "step": 0.5 }, + "value": 1 + }, + { + "t": 5, + "interpolation": "cosine", + "value": 10 + }, + ] + }; + + let spline = from_value::>(value); + println!("{:?}", spline); +} diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 7b31210..62a55c0 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -1,7 +1,8 @@ [workspace] members = [ - "01-hello-world" + "01-hello-world", + "02-serialization" ] [patch.crates-io]