Skip to main content

to_json

Macro to_json 

Source
macro_rules! to_json {
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident { $($body:tt)* }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident < $lt:lifetime $(,)? > { $($body:tt)* }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident ( $fty:ty $(,)? ) ;
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident < $lt:lifetime $(,)? > ( $fty:ty $(,)? ) ;
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident ( $fty1:ty, $($ftyn:ty),+ $(,)? ) ;
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident < $lt:lifetime $(,)? > ( $fty1:ty, $($ftyn:ty),+ $(,)? ) ;
    ) => { ... };
    (
        #[bourne(untagged)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident { $($variants:tt)* }
    ) => { ... };
    (
        #[bourne(untagged)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident < $lt:lifetime $(,)? > { $($variants:tt)* }
    ) => { ... };
    (
        #[bourne(tag = $tag:literal)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident { $($variants:tt)* }
    ) => { ... };
    (
        #[bourne(tag = $tag:literal)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident < $lt:lifetime $(,)? > { $($variants:tt)* }
    ) => { ... };
    (
        #[bourne(tag = $tag:literal, content = $content:literal)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident { $($variants:tt)* }
    ) => { ... };
    (
        #[bourne(tag = $tag:literal, content = $content:literal)]
        $(#[$attr:meta])*
        $vis:vis enum $name:ident < $lt:lifetime $(,)? > { $($variants:tt)* }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis enum $name:ident { $($variants:tt)* }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis enum $name:ident < $lt:lifetime $(,)? > { $($variants:tt)* }
    ) => { ... };
}
Expand description

Emit a struct or enum together with its crate::ToJson impl.

See the from_json! docs for shape coverage — the two macros support the same set of containers and attributes.