Serde在将数据反序列化为常规结构体时会忽略未知的命名字段。当我将数据反序列化为元组结构体时(例如从异构的JSON数组中),如何忽略额外的项呢? 例如,以下代码可以很好地忽略额外的"c"字段:#[derive(Serialize, Deserialize, Debug)] pub struc...
我正在尝试进行结构体序列化,其中字节最终将通过管道发送,重建后并对其调用方法。 我创建了一个适当的 trait 供这些结构体实现,并使用 serde 和 serde-cbor 进行序列化:extern crate serde_cbor; #[macro_use] extern crate s...
我有以下对象:{ "data": { "id": 1, "name": "South America", "countries": { "data": [ { "id": 122, "name": ...
我试图将枚举变量的名称作为serde期望/创建的字符串获取。例如,假设我有以下枚举:#[derive(Serialize, Deserialize)] #[serde(rename_all="camelCase")] pub enum SomeEnum { With...
我有一个结构体,使用了#[serde(default)]容器属性。 但是有一个字段应该是必填的(如果这个字段在传入数据中不存在,反序列化程序应该报错而不是回退到默认值)。 #[serde(default)] #[derive(Serialize, Deserialize)] struct ...
我试着为一个包含对Path的引用的结构体派生serde :: Deserialize,这会产生一个错误信息,如果将&'a Path替换为&'a str 则不会发生。是什么导致了#[derive(Deserialize)]的不同行为? Playground #!/bin/ca...
我正在尝试为一个外部枚举实现Serialize和Deserialize,但我不知道该怎么做。它有From<u64>,所以我只想让这个对象用那个来序列化。 #[derive(Serialize, Deserialize)] pub struct ImageBinds { b...
我正在尝试读取一个TOML文件,以创建一个包含关联值枚举向量的结构体。以下是示例代码: extern crate serde; #[macro_use] extern crate serde_derive; extern crate toml; use std::fs::File; use...
我有一组不同的消息以JSON格式发送,可以根据一个单独的字段进行区分,但每个变体都有不同的次要字段集合: #[derive(Debug, Serialize, Deserialize)] struct MessageOne { ///op will always be "one" ...
我必须对JSON块进行反序列化,其中一些地方缺少一个完整的对象,编码为具有相同结构但所有字段都设置为默认值(空字符串和零)的对象。 extern crate serde_json; // 1.0.27 #[macro_use] extern crate serde_derive; // 1....