Skip to main content

from_json

Macro from_json 

Source
macro_rules! from_json {
    (
        #[bourne(deny_unknown_fields = false)]
        $(#[$attr:meta])*
        $vis:vis struct $name:ident { $($body:tt)* }
    ) => { ... };
    (
        #[bourne(deny_unknown_fields = false)]
        $(#[$attr:meta])*
        $vis:vis struct $name:ident < $lt:lifetime $(,)? > { $($body:tt)* }
    ) => { ... };
    (
        $(#[$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 < $lt:lifetime, $tp:ident $(: $($tb:tt)+)? $(,)? > { $($body:tt)* }
    ) => { ... };
    (
        $(#[$attr:meta])*
        $vis:vis struct $name:ident < $tp:ident $(: $($tb:tt)+)? $(,)? > { $($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, 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)* }
    ) => { ... };
    (
        #[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)* }
    ) => { ... };
    (
        $(#[$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 FromJson impl.

See the module-level docs for the supported shapes and limitations.