macro_rules! object { {} => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:ident: $( $cont:tt )*) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:literal: $( $cont:tt )*) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) [$key:expr]: $( $cont:tt )*) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:tt, $( $cont:tt )+) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:tt,) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:tt) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:expr, $( $cont:tt )+) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:expr,) => { ... }; (@ENTRY($( $k:expr => $v:expr, )*) $key:expr => $value:expr) => { ... }; (@END $( $k:expr => $v:expr, )*) => { ... }; ($key:tt: $( $cont:tt )+) => { ... }; ($( $k:expr => $v:expr, )*) => { ... }; ($( $k:expr => $v:expr ),*) => { ... }; }
Expand description
Helper macro for creating instances of JsonValue::Object.
let data = object!{
foo: 42,
bar: false,
};
assert_eq!(data["foo"], 42);
assert_eq!(data["bar"], false);
assert_eq!(data.dump(), r#"{"foo":42,"bar":false}"#);