[][src]Trait automate::json::AsJson

pub trait AsJson {
    fn as_json(&self) -> String;
fn concat_json(&self, dest: &mut String); }

A data structure that can be represented in a JSON string.

The code to derive this trait can be automatically produced using #[derive(AsJson)] as the procedural macro crate provides a derive macro for AsJson.

Example

#[macro_use] extern crate automate_derive;
use automate::json::AsJson;

#[derive(AsJson)]
struct File {
    path: &'static str,
    content: &'static str,
    size: u32
}

let file = File {
    path: "/path/to/file",
    content: "Serialized with AsJson",
    size: 22
};

assert_eq!(file.as_json(), r#"{"path":"/path/to/file","content":"Serialized with AsJson","size":22}"#)

Required methods

fn as_json(&self) -> String

fn concat_json(&self, dest: &mut String)

Loading content...

Implementations on Foreign Types

impl AsJson for i8[src]

impl AsJson for i16[src]

impl AsJson for i32[src]

impl AsJson for i64[src]

impl AsJson for i128[src]

impl AsJson for isize[src]

impl AsJson for u8[src]

impl AsJson for u16[src]

impl AsJson for u32[src]

impl AsJson for u64[src]

impl AsJson for u128[src]

impl AsJson for usize[src]

impl AsJson for f32[src]

impl AsJson for f64[src]

impl AsJson for bool[src]

impl<J> AsJson for Vec<J> where
    J: AsJson
[src]

impl<J> AsJson for VecDeque<J> where
    J: AsJson
[src]

impl<J> AsJson for LinkedList<J> where
    J: AsJson
[src]

impl<J> AsJson for BTreeSet<J> where
    J: AsJson
[src]

impl<J> AsJson for BTreeMap<String, J> where
    J: AsJson
[src]

impl<T> AsJson for [T; 1] where
    T: AsJson
[src]

impl<T> AsJson for [T; 2] where
    T: AsJson
[src]

impl<T> AsJson for [T; 3] where
    T: AsJson
[src]

impl<T> AsJson for [T; 4] where
    T: AsJson
[src]

impl<T> AsJson for [T; 5] where
    T: AsJson
[src]

impl<T> AsJson for [T; 6] where
    T: AsJson
[src]

impl<T> AsJson for [T; 7] where
    T: AsJson
[src]

impl<T> AsJson for [T; 8] where
    T: AsJson
[src]

impl<T> AsJson for [T; 9] where
    T: AsJson
[src]

impl<T> AsJson for [T; 10] where
    T: AsJson
[src]

impl<T> AsJson for [T; 11] where
    T: AsJson
[src]

impl<T> AsJson for [T; 12] where
    T: AsJson
[src]

impl<T> AsJson for [T; 13] where
    T: AsJson
[src]

impl<T> AsJson for [T; 14] where
    T: AsJson
[src]

impl<T> AsJson for [T; 15] where
    T: AsJson
[src]

impl<T> AsJson for [T; 16] where
    T: AsJson
[src]

impl<T> AsJson for [T; 17] where
    T: AsJson
[src]

impl<T> AsJson for [T; 18] where
    T: AsJson
[src]

impl<T> AsJson for [T; 19] where
    T: AsJson
[src]

impl<T> AsJson for [T; 20] where
    T: AsJson
[src]

impl<T> AsJson for [T; 21] where
    T: AsJson
[src]

impl<T> AsJson for [T; 22] where
    T: AsJson
[src]

impl<T> AsJson for [T; 23] where
    T: AsJson
[src]

impl<T> AsJson for [T; 24] where
    T: AsJson
[src]

impl<T> AsJson for [T; 25] where
    T: AsJson
[src]

impl<T> AsJson for [T; 26] where
    T: AsJson
[src]

impl<T> AsJson for [T; 27] where
    T: AsJson
[src]

impl<T> AsJson for [T; 28] where
    T: AsJson
[src]

impl<T> AsJson for [T; 29] where
    T: AsJson
[src]

impl<T> AsJson for [T; 30] where
    T: AsJson
[src]

impl<T> AsJson for [T; 31] where
    T: AsJson
[src]

impl<T> AsJson for [T; 32] where
    T: AsJson
[src]

impl AsJson for ()[src]

impl AsJson for String[src]

impl<'_> AsJson for &'_ str[src]

impl<J, S: BuildHasher> AsJson for HashSet<J, S> where
    J: AsJson
[src]

impl<J, S: BuildHasher> AsJson for HashMap<String, J, S> where
    J: AsJson
[src]

Loading content...

Implementors

impl AsJson for ActivityFlags[src]

impl AsJson for ActivityType[src]

impl AsJson for AuditLogEvent[src]

impl AsJson for ChannelType[src]

impl AsJson for DefaultMessageNotificationLevel[src]

impl AsJson for ExplicitContentFilterLevel[src]

impl AsJson for GuildFeature[src]

impl AsJson for MFALevel[src]

impl AsJson for MessageActivityType[src]

impl AsJson for MessageFlags[src]

impl AsJson for MessageType[src]

impl AsJson for OverwriteType[src]

impl AsJson for Permission[src]

impl AsJson for PremiumTier[src]

impl AsJson for StatusType[src]

impl AsJson for VerificationLevel[src]

impl AsJson for WebhookType[src]

impl AsJson for Activity[src]

impl AsJson for ActivityAssets[src]

impl AsJson for ActivityParty[src]

impl AsJson for ActivitySecrets[src]

impl AsJson for ActivityTimestamps[src]

impl AsJson for ChannelMention[src]

impl AsJson for Embed[src]

impl AsJson for EmbedAuthor[src]

impl AsJson for EmbedField[src]

impl AsJson for EmbedFooter[src]

impl AsJson for EmbedImage[src]

impl AsJson for EmbedProvider[src]

impl AsJson for EmbedThumbnail[src]

impl AsJson for EmbedVideo[src]

impl AsJson for Emoji[src]

impl AsJson for Heartbeat[src]

impl AsJson for Identify[src]

impl AsJson for Overwrite[src]

impl AsJson for PartialEmoji[src]

impl AsJson for RequestGuildMembers[src]

impl AsJson for Resume[src]

impl AsJson for Role[src]

impl AsJson for UpdateStatus[src]

impl AsJson for UpdateVoiceState[src]

impl AsJson for User[src]

impl AsJson for CreateMessage[src]

impl AsJson for ModifyChannel[src]

impl AsJson for ModifyMessage[src]

impl AsJson for NewEmoji[src]

impl AsJson for NewInvite[src]

impl AsJson for NewOverwrite[src]

impl AsJson for UpdateEmoji[src]

impl AsJson for Snowflake[src]

impl<T> AsJson for Nullable<T> where
    T: AsJson
[src]

Loading content...