rustUsing enum in json in Rust
Enums in Rust can be used in JSON by serializing them into strings. To do this, the #[serde(rename = "string")]
attribute can be used to specify the string value of the enum. For example, the following code creates an enum with the variants Foo
and Bar
and serializes them into strings:
#[derive(Serialize, Deserialize)]
#[serde(rename = "string")]
enum MyEnum {
Foo,
Bar,
}
The output of this code would be a JSON object with the string values of the enum:
{
"string": "Foo"
}
The #[serde(rename = "string")]
attribute can also be used to specify custom string values for each variant of the enum. For example, the following code creates an enum with the variants Foo
and Bar
and serializes them into strings with custom values:
#[derive(Serialize, Deserialize)]
#[serde(rename = "string")]
enum MyEnum {
#[serde(rename = "foo")]
Foo,
#[serde(rename = "bar")]
Bar,
}
The output of this code would be a JSON object with the custom string values of the enum:
{
"string": "foo"
}
Using enums in JSON in Rust can be a useful way to add type safety to your data. It can also help to make your code more readable and maintainable.
Helpful links
Related
- How to print enum in Rust
- How to create enum from string in Rust
- How to uppercase enum in Rust
- How to create enum from number in Rust
- Enum as u8 in Rust
- How to loop through enum in Rust
- Enum as u32 in Rust
- How to use enum as hashmap key in Rust
- How to get enum value in Rust
- How to serialize enum in Rust
More of Rust
- How to match whitespace with a regex in Rust?
- How to use regex captures in Rust?
- How to clear a Rust HashMap?
- How to replace a capture group using Rust regex?
- How to use regex to match a double quote in Rust?
- Regex example to match multiline string in Rust?
- How to perform matrix operations in Rust?
- How to use regex lookbehind in Rust?
- How to match the end of a line in a Rust regex?
- How to print a Rust HashMap?
See more codes...