如何将元组向量转换为 JSON 对象?
How to convert vector of tuples to JSON objects?
我正在 rocket.rs 中创建一个 REST API 并具有一个函数,该函数 return 是我需要 return 到 Web 前端的元组向量。向量的形式为 [(1, "abc"), (2, "mno"), (3, "xyz")]
.
我需要以 JSON 列表形式发送出去 [{"score": 1, "text": "abc"}, {"score": 2, "text": "mno"}, {"score": 3, "text": "xyz"}]
。
我如何在 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);
我需要一种方法来创建键、值对并进行转换。有什么方法可以做到这一点?
为什么要使用元组?如果您的元组字段有 "semantic" 个名称,您应该考虑改用结构,这也应该可以解决您的序列化问题:
#[derive(Clone,PartialEq,Eq,PartialOrd,Ord,Hash,Debug,Serialize,Deserialize)]
struct Entry {
pub score: i32,
pub text: String,
}
我正在 rocket.rs 中创建一个 REST API 并具有一个函数,该函数 return 是我需要 return 到 Web 前端的元组向量。向量的形式为 [(1, "abc"), (2, "mno"), (3, "xyz")]
.
我需要以 JSON 列表形式发送出去 [{"score": 1, "text": "abc"}, {"score": 2, "text": "mno"}, {"score": 3, "text": "xyz"}]
。
我如何在 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);
我需要一种方法来创建键、值对并进行转换。有什么方法可以做到这一点?
为什么要使用元组?如果您的元组字段有 "semantic" 个名称,您应该考虑改用结构,这也应该可以解决您的序列化问题:
#[derive(Clone,PartialEq,Eq,PartialOrd,Ord,Hash,Debug,Serialize,Deserialize)]
struct Entry {
pub score: i32,
pub text: String,
}