导入Crate
serde_json = {version = "1.0"}
serde = {version = "*", features = ["derive"]}
代码中使用
extern crate serde;
extern crate serde_json;
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Person{
name: String,
age: u8,
phones: Vec<String>,
}
//从json中反序列化对象
let data = r#"
{
"name": "John Doe",
"age": 43,
"phones": [
"18800010002",
"18800010003"
]
}"#;
let p: Person = serde_json::from_str(data)?;
println!("{}", p.name);
//序列化对象为json
let json = serde_json::to_string(&p)?;
println!("序列化结果:{}", json);
//硬编码json对象
let full_name = "henreash";
let age_last_year = 42;
let henreash = json!({
"name": full_name,
"age": age_last_year + 1,
"phone": [
"+86-10000",
"+86-10001",
]
});
let json = henreash.to_string();
println!("{}", json);