如题所示,下面直接上代码了
use serde_json::json;
use serde_json::{Value};
use serde_json::{Result};
use serde::{Deserialize, Serialize};
#[derive(Serialize)]
#[derive(Debug)]
struct m{
name:String,
age:i32,
}
fn main() {
let mut r:Vec<m>=vec![];
for i in 1..=9{
let x=m{
name:String::from(i.to_string()),
age:i+30,
};
r.push(x);
}
println!("{:?}",r);
println!("------------------------------------------------------------------------");
// for i in r{
// println!("{:?}",i);
// }
let jsonstr = serde_json::to_string(&r).unwrap();
println!("vec中包含多个struct变字符串:{:?}",jsonstr);
println!("------------------------------------------------------------------------");
let mut myjsonvalue:Value = serde_json::from_str(&jsonstr).unwrap();
println!("vec中包含多个struct之字符串变Value:{:?}", myjsonvalue);
println!("------------------------------------------------------------------------");
let mut myjson=json!({});//修建空json
myjson.as_object_mut().unwrap().insert("结果".to_string(), myjsonvalue);//添加新元素
println!("{:?}",myjson["结果"]);
for i in myjson["结果"].as_array().unwrap(){
println!("每一个值:{}",i);
}
}
上述代码运行输出如下结果: