我正在查詢 API 以獲取某些資料,但它們的鍵名中有連字符而不是下劃線,并且由于我不能在結構欄位名稱中使用連字符,因此我無法轉換它。
例如,我的結構:
pub struct Example {
user_id: String,
name: String,
}
收到的json就像
{
"user-id": "abc",
"name": "John"
}
現在我正在這樣做,但我不能,因為我不能直接施放它
let res = client
.get("SOME-URL")
.header("x-api-key", APP_ID)
.send()
.await?;
let response_body: Example = res.json().await?;
uj5u.com熱心網友回復:
如果只是單個屬性,則可以使用:
#[serde(alias = "user-id")]#[serde(rename = "user-id")]
如果是所有這些(烤肉串盒或其他樣式),您可以使用:
#[serde(rename_all = "kebab-case")]
#[derive(Deserialize, Debug)]
pub struct Example {
#[serde(alias = "user-id")]
user_id: String,
name: String,
}
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/437375.html
