rumtk_serialize

Macro rumtk_serialize 

Source
macro_rules! rumtk_serialize {
    ( $object:expr ) => { ... };
    ( $object:expr, $pretty:expr ) => { ... };
}
Expand description

Serialization macro which will take an object instance decorated with Serialize trait from serde and return the JSON string representation.

You can pass up to two parameters. The first parameter is the serializable object instance. The second parameter is a boolean indicating whether to pretty print. Omit the second parameter if not debugging to save on bytes transferred around.

§Examples

§Pretty Print

pub use crate::rumtk_core::json::serialization::{Serialize};
use crate::rumtk_core::strings::RUMString;
use crate::rumtk_core::rumtk_serialize;

#[derive(Serialize)]
struct MyStruct {
    hello: RUMString
}

let hw = MyStruct{hello: RUMString::from("World")};
let hw_str = rumtk_serialize!(&hw, true).unwrap();

assert!(hw_str.len() > 0, "Empty JSON string generated from the test struct!");

§Default

pub use crate::rumtk_core::json::serialization::{Serialize};
use crate::rumtk_core::strings::RUMString;
use crate::rumtk_core::rumtk_serialize;

#[derive(Serialize)]
struct MyStruct {
    hello: RUMString
}

let hw = MyStruct{hello: RUMString::from("World")};
let hw_str = rumtk_serialize!(&hw).unwrap();

assert!(hw_str.len() > 0, "Empty JSON string generated from the test struct!");