Dzwebs.Net

撰写电脑技术杂文十余年

rust之json新项添加Vec中的多个struct(即json添加列表中的多个字典)

Admin | 2023-2-16 17:22:43 | 被阅次数 | 836

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  如题所示,下面直接上代码了

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);
}

}

  上述代码运行输出如下结果:



该杂文来自: 最新技术

上一篇:rust通过for逆序求“猴子吃桃的算法”

下一篇:rust之enum通过impl构造函数获取enum中的项的名称

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计