13

次のような JSON 構造があります。

{ "type": "suite", "event": "started", "test_count": 1 }

これらの構造体に逆シリアル化したい:

#[derive(Debug, Deserialize)]
enum ResultType {
    Suite,
    Test,
}

#[derive(Debug, Deserialize)]
enum ResultEvent {
    Started,
    Failed,
    Ok,
}

#[derive(Debug, Deserialize)]
struct JsonResult {
    #[serde(rename(deserialize = "type"))]
    test_type: ResultType,
    event: ResultEvent,
    test_count: Option<u32>,
}

serde_json で正しい大文字と小文字を使用する方法が見つかりません。これらのエラーが発生し続けます:

Error("unknown variant `suite`, expected `Suite` or `Test`", line: 1, column: 17)

列挙値の大文字と小文字をすべて小文字またはすべて大文字に変更すると機能しますが、PascalCase を使用できるようにしたいと考えています。

4

3 に答える 3