Rust第一份代码(7.30)

JSON解析

use serde_json::{Result, Value};
use serde::{Deserialize, Serialize};

fn main() {
    println!("Hello, world!");
    let data = r#"
        {
            "host": "John Doe",
            "timeout": 43,
            "comment" : "Simple"
        }"#;
    println!("{}", data);

    /*
     if let Some(result: Method) = serde_json::from_str(data) {
        println!("{}", result);
    }
     */
   

    let result : Result<Method>  = serde_json::from_str(data);

    let method = match(result) {
        Ok(data) => data,
        Err(err) => println!("{}", err)
    };
    

    // Parse the string of data into serde_json::Value.
    //serde_json::from_str(data);

}

#[derive(Serialize, Deserialize, Debug)]
pub struct Method {
    pub host : String,
    pub timeout : u32,
    pub comment: String,
}

impl Method {
    fn new(host : String, timeout : u32, comment : String) -> Self {
        Method  {
            host : host,
            timeout : timeout,
            comment
        }
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容