我有一个 struct ,我希望能够在CAMEL_CASE中插入,并在PascalCase中废弃.这个是可能的吗?我看过SERDE rename_all = snake_case

推荐答案

the docs人起:

#[serde(rename_all = "...")]

根据给定的大小写约定重命名所有字段(如果这是 struct )或变量(如果这是枚举).可能的值为"lowercase""UPPERCASE""PascalCase""camelCase""snake_case""SCREAMING_SNAKE_CASE""kebab-case""SCREAMING-KEBAB-CASE".

允许为序列化和反序列化指定独立的大小写:

  • #[serde(rename_all(serialize = "..."))]
  • #[serde(rename_all(deserialize = "..."))]
  • #[serde(rename_all(serialize = "...", deserialize = "..."))

所以#[serde(rename_all(serialize = "camelCase", deserialize = "PascalCase"))]

Rust相关问答推荐

如何初始化match声明中的两个变量而不会激怒borrow 判断器?

在Tauri中获取ICoreWebView 2_7以打印PDF

如何在不安全的代码中初始化枚举 struct

值为可变对象的不可变HashMap

在Rust中,如果Result是Err,运行副作用(如日志(log)记录)的惯用方法是什么

有没有办法避免在While循环中多次borrow `*分支`

无法定义名为&new&的关联函数,该函数的第一个参数不是self

什么时候使用FuturesOrdered?

装箱特性如何影响传递给它的参数的生命周期 ?(举一个非常具体的例子)

如何对一个特征的两个实现进行单元测试?

tokio::sync::broadcast::Receiver 不是克隆

如何限制 GtkColumnView 行数

Nom 解析器无法消耗无效输入

Rust:为什么 Pin 必须持有指针?

如何保存指向持有引用数据的指针?

注释闭包参数强调使用高阶排定特征界限

为什么 &i32 可以与 Rust 中的 &&i32 进行比较?

当我不满足特征界限时会发生什么?

当我在 struct 中存储异步函数时,为什么它需要生命周期

如何在宏中的多个参数上编写嵌套循环?