28得票2回答
使用serde序列化时如何对HashMap键进行排序?

我正在使用serde序列化一个HashMap,如下所示: #[derive(Serialize, Deserialize)] struct MyStruct { map: HashMap<String, String> } HashMap 的键的顺序是不确定的,并且由于哈...

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

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

27得票1回答
在使用serde_json解析过程中,是否有可能展平子对象字段?

#[serde(rename)] 似乎是正确的选项,但文档并没有说明它是否可行或如何实现。 这个 JSON 对象:{ "name" : "myobject" "info" : { "counter" : "3" "foo" : "bar" } ...

26得票1回答
如何使用Serde在序列化期间转换字段?

如何在序列化之前对字段应用转换? 例如,如何确保此结构定义中的lat和lon字段在被序列化之前最多舍入到6位小数?#[derive(Debug, Serialize)] struct NodeLocation { #[serde(rename = "nodeId")] id:...

24得票4回答
如何区分反序列化后缺失的字段和空字段?

我希望使用Serde来解析HTTP PATCH请求中的一些JSON数据。由于PATCH请求不会传递整个对象,只会传递需要更新的相关数据,因此我需要能够区分未传递的值、明确设置为null的值和已存在的值。 我有一个具有多个可空字段的值对象:struct Resource { a: Op...

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

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

23得票3回答
如何使用Serde对大于32个元素的数组进行(反)序列化,例如[u8; 128]?

我有一个结构体,其中包含一个字节数组,我想将其序列化并从二进制反序列化,但它仅适用于最多32个元素的数组 。 这是我的最小示例代码 main.rs:#[macro_use] extern crate serde_derive; extern crate serde; extern crate ...

22得票1回答
如何将对象数组传递给 WebAssembly 并使用 wasm-bindgen 将其转换为结构体向量?

可以像这样传递整数数组: const js = import("./webassembly_rust"); let array_nums = [1,2,3,4,5,6,7,8,9]; js.then(js => { js.test( array_nums ); }); 将代...

22得票1回答
Rust&Serde JSON反序列化示例?

我正在尝试使用Serde将JSON反序列化为结构体。例如,serde_json的官方文档上的示例包含以下数据:{ "FirstName": "John", "LastName": "Doe", "Age": 43, "Address": { "S...

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

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