我有一个结构体,我希望能够以驼峰命名法进行序列化,并以帕斯卡命名法进行反序列化。这种可能吗?我看到了serde中的
rename_all = snake_case
。rename_all = snake_case
。来自文档:
#[serde(rename_all = "...")]
根据给定的命名约定重命名所有字段(如果这是一个结构体)或变体(如果这是一个枚举)。可能的值为
"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"))]