11得票1回答
使用 serde 进行两种(反)序列化格式。

我已成功使用serde_json来反序列化和序列化JSON。我的设置看起来有点像这样(非常简化): use serde::{Deserialize, Serialize}; use serde_json; use serde_with::skip_serializing_none; #[s...

20得票3回答
如何为一个装箱的 trait 对象实现 `serde::Serialize`?

我在试图为一个结构体创建一个通用向量时遇到了问题。这是我的第一次尝试: #[derive(Serialize)] struct Card { sections: Vec<Section<dyn WidgetTrait>> } #[derive(Seriali...

9得票1回答
使用Serde进行反序列化时,是否有一种方法可以允许未知的枚举标签?

我正在对一个带有标签的枚举进行反序列化: #[derive(Deserialize)] enum Foo { A(A), B(B), C(C), } 如果 Serde 遇到不是 A、B 或 C 的标签,它会抛出一个错误。是否有任何方法可以为未知的标签添加一个通用变...

7得票1回答
在Rust中是否有一种“铺平”枚举类型以进行序列化和反序列化的方法?

我有一个枚举类型,它由其他枚举类型组成,类似于以下内容(为简洁起见省略了Serde导出和注释): enum Main { A(SubA), B(SubB), } enum SubA { X1, X2, X3 } enum SubB { Y1, Y2, Y3 } 我希望能...

7得票1回答
JSON响应的反序列化在字符串中保留引号

我正在使用reqwest查询Google API: let request_url = format!( "https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=*\ &inp...

12得票1回答
Rust Serde - 反序列化时展平路径

我想将一个相当深的 JSON 反序列化为 Rust 结构体: { "root": { "f1": { "f2": { "f3": 123 } } } } 在实现Deserialize时,我必须创建太多的结构体——对于上述...

10得票1回答
将TOML反序列化为枚举向量,并包含值

我正在尝试读取一个TOML文件,以创建一个包含关联值枚举向量的结构体。以下是示例代码: extern crate serde; #[macro_use] extern crate serde_derive; extern crate toml; use std::fs::File; use...

8得票1回答
如何将reqwest响应中的字节流反序列化为JSON?

通过reqwest发出的请求正在等待长轮询响应,所以我创建了一个字节流,并尝试将每个块反序列化为JSON。但很快意识到这是错误的,因为每个块都可能不完整,因此反序列化可能会失败;即使其中一些块被反序列化为JSON,大部分也会失败。我该怎么办? #[tokio::main] async fn ...

8得票1回答
如何使用serde反序列化Prost枚举?

我正在使用 [prost] 从 protobuf 生成结构体。其中一个结构体非常简单: enum Direction { up = 0; down = 1; sideways = 2; } 这将生成类似以下代码的内容: #[derive(Clone, Copy, Debug...

9得票2回答
如何在使用 Rust Mongo 驱动程序原型时将 chrono::DateTime 字段序列化为 ISODate?

当使用Rust Mongo driver prototype时,结构体中的日期时间字段被序列化为String而不是ISODate。我该如何让这些字段保存为ISODate? use chrono::{DateTime, Utc}; use mongodb::oid::ObjectId; use...