use serde_json; use x_variant::Variant; fn main() { let mut v = Variant::new(); println!("Variant: {:?}", v); v.set(20); let i: i32 = v.get(); println!("Variant: {:?}", v); println!("i: {}", i); v.set("Hello, world!"); println!("Variant: {:?}", v); let mut v = Variant::new_dict(); v["key"] = "value".into(); v["i"] = 12.into(); v["x"]["y"] = 3.1415926f64.into(); println!("Variant: {:?}", v); let f: f64 = v["x"]["y"].get(); println!("f = {}", f); let json = serde_json::to_string(&v).unwrap(); println!("JSON: {}", json); let v = serde_json::from_str::(&json).unwrap(); println!("Variant: {:?}", v); }