Function rust_multicodec::decode [] [src]

pub fn decode<T: DeserializeOwned>(
    encoded_data: &[u8]
) -> Result<DecodeResult<T>, String>

Decodes a byte array back into an Object. Note that the object must implement Deserialize trait from serde's lib

Arguments

  • encoded_data - The data that was encoded with the encode method

Example

extern crate rust_multicodec;
#[macro_use]
extern crate serde_derive;
#[derive(Serialize, Deserialize)]
#[derive(Debug)]
struct Person {
    name: String
}

fn main(){
    let to_be_encoded=Person{name:String::from("sanyi")};
    let encoded=rust_multicodec::encode(rust_multicodec::codec::CodecType::JSON, &to_be_encoded).unwrap();
    let decoded:Person=rust_multicodec::decode(encoded.as_ref()).unwrap().data;
    println!("{:?}",decoded);
    // it will print: Person { name: "sanyi" }
}