x-variant 0.1.2

Variant is a dynamic type container
Documentation
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::<Variant>(&json).unwrap();
    println!("Variant: {:?}", v);
}