如题:json字符串转json和struct以及struct转字符串和转json,直接上代码。
use serde::{Deserialize, Serialize};
use serde_json::{Result, Value};
use std::string::ToString;
#[derive(Serialize, Deserialize)]
#[derive(Debug)]
struct Myinfor{
name:String,
love:String,
}
fn main(){
let jsonstr=r#"{
"name":"云南青山",
"love":"捡野生菌"
}"#;
//json字符串转json
let myjson:Value = serde_json::from_str(&jsonstr).unwrap();
println!("json字符串转json:{}",myjson["name"]);
//json转字符串
let myjsonstr = serde_json::to_string(&myjson).unwrap();
println!("json转字符串:{}", myjsonstr);
//json字符串转struct
let mystruct:Myinfor = serde_json::from_str(&myjsonstr).unwrap();
println!("json字符串转struct:{:?}",mystruct);
//struct转字符串
let structtostr = serde_json::to_string(&mystruct).unwrap();
println!("struct转字符串:{}", structtostr);
//struct字符串转json
let json:Value = serde_json::from_str(&structtostr).unwrap();
println!("struct字符串转json:{}", json["love"]);
}
/*
json字符串转json:"云南青山"
json转字符串:{"love":"捡野生菌","name":"云南青山"}
json字符串转struct:Myinfor { name: "云南青山", love: "捡野生菌" }
struct转字符串:{"name":"云南青山","love":"捡野生菌"}
struct字符串转json:"捡野生菌"
*/