pub trait Serialize {
    // Required method
    fn serialize<S>(
        &self,
        serializer: S
    ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
       where S: Serializer;
}Expand description
A data structure that can be serialized into any data format supported by Serde.
Serde provides Serialize implementations for many Rust primitive and
standard library types. The complete list is here. All of
these can be serialized using Serde out of the box.
Additionally, Serde provides a procedural macro called serde_derive to
automatically generate Serialize implementations for structs and enums in
your program. See the derive section of the manual for how to use this.
In rare cases it may be necessary to implement Serialize manually for some
type in your program. See the Implementing Serialize section of the
manual for more about this.
Third-party crates may provide Serialize implementations for types that
they expose. For example the linked-hash-map crate provides a
LinkedHashMap<K, V> type that is serializable by Serde because the crate
provides an implementation of Serialize for it.
Required Methods§
sourcefn serialize<S>(
    &self,
    serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
    S: Serializer,
 
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
Serialize this value into the given Serde serializer.
See the Implementing Serialize section of the manual for more
information about how to implement this method.
use serde::ser::{Serialize, SerializeStruct, Serializer};
struct Person {
    name: String,
    age: u8,
    phones: Vec<String>,
}
// This is what #[derive(Serialize)] would generate.
impl Serialize for Person {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: Serializer,
    {
        let mut s = serializer.serialize_struct("Person", 3)?;
        s.serialize_field("name", &self.name)?;
        s.serialize_field("age", &self.age)?;
        s.serialize_field("phones", &self.phones)?;
        s.end()
    }
}Object Safety§
Implementations on Foreign Types§
source§impl Serialize for IpAddr
 
impl Serialize for IpAddr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for SocketAddr
 
impl Serialize for SocketAddr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Value
 
impl Serialize for Value
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for bool
 
impl Serialize for bool
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for char
 
impl Serialize for char
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for f32
 
impl Serialize for f32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for f64
 
impl Serialize for f64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for i8
 
impl Serialize for i8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for i16
 
impl Serialize for i16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for i32
 
impl Serialize for i32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for i64
 
impl Serialize for i64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for i128
 
impl Serialize for i128
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for isize
 
impl Serialize for isize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for str
 
impl Serialize for str
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for u8
 
impl Serialize for u8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for u16
 
impl Serialize for u16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for u32
 
impl Serialize for u32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for u64
 
impl Serialize for u64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for u128
 
impl Serialize for u128
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for ()
 
impl Serialize for ()
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for usize
 
impl Serialize for usize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for CString
 
impl Serialize for CString
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for String
 
impl Serialize for String
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for CStr
 
impl Serialize for CStr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Ipv4Addr
 
impl Serialize for Ipv4Addr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Ipv6Addr
 
impl Serialize for Ipv6Addr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for SocketAddrV4
 
impl Serialize for SocketAddrV4
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for SocketAddrV6
 
impl Serialize for SocketAddrV6
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroI8
 
impl Serialize for NonZeroI8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroI16
 
impl Serialize for NonZeroI16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroI32
 
impl Serialize for NonZeroI32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroI64
 
impl Serialize for NonZeroI64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroI128
 
impl Serialize for NonZeroI128
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroIsize
 
impl Serialize for NonZeroIsize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroU8
 
impl Serialize for NonZeroU8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroU16
 
impl Serialize for NonZeroU16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroU32
 
impl Serialize for NonZeroU32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroU64
 
impl Serialize for NonZeroU64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroU128
 
impl Serialize for NonZeroU128
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for NonZeroUsize
 
impl Serialize for NonZeroUsize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicBool
 
impl Serialize for AtomicBool
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicI8
 
impl Serialize for AtomicI8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicI16
 
impl Serialize for AtomicI16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicI32
 
impl Serialize for AtomicI32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicI64
 
impl Serialize for AtomicI64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicIsize
 
impl Serialize for AtomicIsize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicU8
 
impl Serialize for AtomicU8
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicU16
 
impl Serialize for AtomicU16
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicU32
 
impl Serialize for AtomicU32
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicU64
 
impl Serialize for AtomicU64
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for AtomicUsize
 
impl Serialize for AtomicUsize
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Duration
 
impl Serialize for Duration
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for OsStr
 
impl Serialize for OsStr
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for OsString
 
impl Serialize for OsString
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Path
 
impl Serialize for Path
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for PathBuf
 
impl Serialize for PathBuf
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for SystemTime
 
impl Serialize for SystemTime
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Map<String, Value>
 
impl Serialize for Map<String, Value>
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl Serialize for Number
 
impl Serialize for Number
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
§impl Serialize for Fq2Parameters
 
impl Serialize for Fq2Parameters
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
source§impl<'a, T> Serialize for Cow<'a, T>where
    T: Serialize + ToOwned + ?Sized,
 
impl<'a, T> Serialize for Cow<'a, T>where T: Serialize + ToOwned + ?Sized,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl<'a, T> Serialize for &'a Twhere
    T: Serialize + ?Sized,
 
impl<'a, T> Serialize for &'a Twhere T: Serialize + ?Sized,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
source§impl<'a, T> Serialize for &'a mut Twhere
    T: Serialize + ?Sized,
 
impl<'a, T> Serialize for &'a mut Twhere T: Serialize + ?Sized,
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
§impl<E> Serialize for Scalar<E>where
    E: Environment,
 
impl<E> Serialize for Scalar<E>where E: Environment,
§fn serialize<S>(
    &self,
    serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
    S: Serializer,
 
fn serialize<S>( &self, serializer: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where S: Serializer,
Serializes the scalar into a string or as bytes.