15得票2回答
如何使用serde_json和Value枚举处理可能缺失的字段?

我有一个JSON数据流,其中一些JSON对象可能缺少某些字段或者拥有我预先不知道的字段。 我的解决方案是使用:let v: Value = serde_json::from_str(data)?; 如何处理访问字段stuff的问题?如果我知道它存在,我可以使用:v["stuff"] 如果我的数...

8得票1回答
Serde没有为Rocket的UUID实现Serialize。

我正在尝试创建一个自定义结构体,其中包含 Rocket 的 UUID 结构体。我希望使用 Serde 进行序列化,以便于将其轻松转换为 JSON 格式。 但是在尝试这样做时,我遇到了一个错误: error[E0277]: the trait bound `rocket_contrib::U...

13得票2回答
在反序列化时是否有更简单的方法转换类型?

使用serde_json,我有一些包含String的JSON对象需要转换为浮点数。我已经发现了一个自定义反序列化器的解决方案,但它似乎是一种hack方法。这里是下面代码的工作示例。 #[macro_use] extern crate serde_derive; extern crate se...

23得票1回答
使用Serde反序列化嵌套的JSON结构时出现“无效类型:映射,期望序列”。

我正在尝试轮询GitHub API以获取问题并将它们打印出来。为此,我需要反序列化从cURL GET请求接收到的嵌套JSON结构。我试图获取items数组中所有对象的url:{ "total_count": 4905, "incomplete_results": false, "item...

12得票1回答
为什么serde_json::from_reader需要获取读取器的所有权?

我的代码: fn request_add<T>(request: &mut Request, collection_name: &'static str) -> Fallible<Fallible<String>> where ...

11得票3回答
如何使用 Rust 合并两个 JSON 对象?

I have two JSON files: JSON 1 { "title": "This is a title", "person" : { "firstName" : "John", "lastName" : "Doe" }, "cities":[ "...

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

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

8得票1回答
无法将 chrono::DateTime 从 JSON 反序列化

我遇到了一个有趣的问题。由于某种原因,serde无法从字符串中反序列化出与已序列化的chrono::DateTime<Utc>对象相同格式的内容(但如果我保存了包含该对象的变量,则可以解析成功)。 use chrono; // 0.4.11 use serde_json; // ...

28得票2回答
当函数返回一个serde Deserialize类型时,如何解决生命周期错误?

我使用serde和serde_json 1.0来解码从base64字符串中获取的数据: fn from_base64_str<T: Deserialize>(string: &str) -> T { let slice = decode_config(str...

27得票1回答
有没有一种方法可以在不创建细粒度对象的情况下使用Serde反序列化任意JSON数据?

我有一个JSON对象,其中包含一些元数据键和大量的数据有效负载。我的服务关心元数据以用于日志记录和路由,但不关心有效负载,除了将有效负载传递给另一个服务外。我将永远不需要出于任何原因查看有效负载的内部。 现在,有效负载在我的结构中表示为serde_json :: Value 。通过分析,我看...