我在rocket.rs中创建一个REST API,并且有一个返回元组向量的函数,我需要返回到web前端。矢量的格式为[(1, "abc"), (2, "mno"), (3, "xyz")]
。
我需要以[{"score": 1, "text": "abc"}, {"score": 2, "text": "mno"}, {"score": 3, "text": "xyz"}]
的JSON列表形式发送。
我如何在Rust中做到这一点?我使用serde
作为
let my_list: Vec<(i32, String)> = vec![
(1, "abc".to_string()),
(2, "feg".to_string()),
(3, "xyz".to_string()),
];
let serialized = serde_json::to_string(&my_list).unwrap();
println!("serialized = {}", serialized);
我需要一种方法来创建键,值对和转换。这样做的方法是什么?
答案 0 :(得分:4)
你为什么使用元组?如果您的元组字段具有“语义”名称,则应该考虑使用结构,这也应该解决序列化问题:
#[derive(Clone,PartialEq,Eq,PartialOrd,Ord,Hash,Debug,Serialize,Deserialize)]
struct Entry {
pub score: i32,
pub text: String,
}